200000
61870 69070
160062598 756722561 920219710 780392280 441045726 228629344 451163278 536346820 725535670 590223732 484844271 937124636 693837607 249090054 283875142 940367414 314293204 369449382 286434854 800376240 504157376 820613681 875271477 720839223 296442278 713473347 617380927 932859106 270949758 803645270 821526521 699445583 505531364 373297465 593739602 243490226 691816152 367690639 955374613 188845707 167638509 662294350 354632472 146512098 670603064 242320383 679135981 459288962 667748235 883352515 148934624 548398051 560491525 484110635 852180161 126493571 657837706 896577658 761995261 710667881 467645078 271145361 745543933 292161171 112902805 841034087 710567077 566638975 215955667 990727031 726673723 568390911 880754038 494912797 222252277 421166040 454130560 228933199 947895388 209122098 198639648 893978705 824942746 756007406 595566765 538988688 343799224 776870948 731289246 297733409 390003988 695959746 599475354 922504355 289710231 780056217 140387790 626476348 695535027 515516260 811089005 803351271 303467764 902567159 815968123 665768002 419937529 189427776 808251814 365882823 190390396 544523286 541316739 889961652 120625669 158867494 995110058 182441003 667019977 934383794 663876381 540798150 215852588 137182052 445579924 286932828 844448288 683485093 298640824 216183528 809636732 111780583 273797291 119717925 516381966 875615256 880771619 238892973 831089167 477213438 768673425 788948422 803156093 972864792 401342536 383583162 537498047 384232261 337941419 876356689 644325171 884773641 711864654 187665199 179225169 598950076 906327120 446106184 418151444 247233737 355469048 612021637 253672848 472662543 613900723 408151881 387485223 924640444 530370199 215435544 780324065 810368139 155700237 896061296 666304509 611653917 113119288 397968062 889656048 409677719 140592502 563170037 861141640 988065255 760744596 884840135 752681345 217218176 585981025 412499386 183487247 145346338 793121056 810261864 339432207 383604454 576680845 707935536 914121061 311912659 649375703 493821201 750563308 930790762 886861176 277658320 109146196 390395424 538277402 859913094 906513825 229197075 784269544 924268807 289418406 324989849 865625923 634606986 464992502 510134699 766181449 211426902 784595463 759793167 171209691 428270761 427464699 855228005 412218245 361041736 924695577 307456669 426016994 194534550 995966383 776379102 514069917 502386924 452900980 143267159 242705532 752955936 555895264 638620123 738138546 327242271 227126686 197063759 988652776 102446117 382789409 842075999 392540328 259028051 778708493 251548206 475836816 588713465 903366846 325543383 357281104 804483662 712907560 810199515 907941528 509113663 502734442 392471343 595163337 141600093 904237583 182687586 847267458 311029828 581273176 131277872 784763702 823824933 290816016 237433295 538671695 754074527 650199174 186075605 827165138 791978994 951136629 462563795 670072998 959341154 344126909 226156630 635684868 211664284 754377823 475927081 382185149 936100032 568394926 443190009 255499485 686460155 349137198 754384768 873810192 167226115 393462235 209688553 413545732 363440143 952836062 295129052 391171045 925257083 864634410 179749058 398025479 107494608 841341444 841481812 717946168 877904829 304547948 473210789 416918615 333672933 632016462 989961191 105361228 473847389 921517428 973659421 365254980 212390687 613105513 727641414 818389378 783503553 167147613 724659893 877182275 749634957 133067023 439576010 691894300 676322636 930048425 395033975 950373430 453881882 553337226 914963184 424828468 332276501 699516775 199566849 831630287 947945653 963443845 235826735 662396559 385941684 898243800 205048964 209985332 881010113 606565921 494976633 304965133 940161420 545774680 631543264 384280503 761034147 653617255 647979189 848162612 498029942 485805993 797667691 773978444 208525260 669321278 139011502 850910587 902040492 795010830 651880682 895373491 568916624 866691595 721808665 791238888 331616546 858550706 786375732 909009732 920130624 512235942 375865092 936218425 134526841 156252252 573527275 264779870 511605210 301083651 692080599 787820455 593148673 117299188 526920688 230110385 108773764 854216908 559411388 801288958 220385142 125668158 284800497 516682341 402536960 419022393 307356595 487336085 804807162 427523330 972071975 759982105 603183263 708011917 100594408 526290339 176663171 103427476 475121727 605580906 309219027 106063406 826271133 342870466 976943232 153796179 257075084 105938835 304313909 930621454 663877835 376193581 695114385 518368219 354213632 603818780 111182854 878062811 870352366 647371444 821128088 701857285 849350436 903019175 935452111 872198075 558973912 230641907 508537555 617739839 904871479 424453994 825254049 612348474 248735073 120063895 159579490 906598287 611283958 669811010 722559549 976737178 421914843 703714580 571742017 771020095 699000910 836415895 140256312 411906767 495907996 598080670 660479940 279963836 144864993 706735744 825335312 585057824 924004815 791236479 687385690 281416838 587868174 160401217 245369731 332476333 516726387 731354344 217039095 189774132 835770281 197733005 859429730 172602934 866057954 667997822 286323536 335055900 576545944 850093552 155928909 334243417 778135974 712545444 591534362 742105713 543589963 505629817 234901404 677059014 644879777 904383014 374234253 575778590 666086418 783143503 586782789 482798559 520533163 248663865 844532506 488485521 126129339 392593038 117574140 807364247 616984155 977549838 276499820 936481518 583648100 772047035 921066037 508094507 471340569 806059640 685723849 263780186 437266935 297385862 642664323 268830163 664417814 367819825 707549647 759761433 301655818 811023690 951795144 457959868 606064801 578904845 968500700 930973886 150751692 756762787 856817239 185969543 894978101 422149801 976690973 194801523 588102163 504936438 503401142 230919948 734050640 335700746 183989238 504440395 280890724 359680208 775910257 986033488 993036087 683060597 668176266 536250308 716240599 221319399 875238993 440453737 683319190 314439622 884104357 894770158 112803445 800528982 614253718 812379756 978414247 247766540 738379698 206086445 230306186 315180078 559247209 278688906 829434966 229568315 737834435 888681325 214091306 395954659 432762080 531895070 193710369 813369264 638613354 730530305 562114532 100620550 674551449 635942850 161036156 412032018 206007336 276824483 977856190 550273113 290647823 825357735 587681838 292137128 369496458 334356460 732332635 923777958 828950552 243690142 730553285 214273441 870691793 110884983 442755876 378964820 160626321 961788784 723273413 755084055 836931297 526395352 282120290 555967951 119351290 571546742 547754250 635896559 557018675 156278444 728556378 403023120 308135470 321213295 676994651 438727335 973730615 302435877 883612394 294255772 978240276 935963747 937870607 520116731 974785532 525269242 593738385 466706872 722072074 229355732 433775583 771531901 918687829 900884778 224935684 899356712 710507289 252495637 939168968 439404526 783198209 935501591 857752533 588612489 362597153 765155317 798157715 658922318 579024443 255795611 147727712 477745108 766240349 170335503 801884565 858976931 821344301 979626192 721717203 206807285 507780686 930165689 372219508 608166948 930248925 499827949 292589911 935191191 666015655 387582489 654867389 988728578 863078296 526547301 784382855 350121716 121971133 139649220 210229690 812528633 101321583 120833728 932172362 679594048 131010367 503903312 438738368 442308832 420611622 808502335 442948098 783848409 662889240 216338235 316423447 833097073 877754244 899745220 309986528 809908849 300517251 955056507 141610250 315455604 356895335 368505675 312099705 588561600 199206076 331708600 909540535 201133411 652104505 166062891 147472520 850567483 386551320 168437987 666466387 756654215 885561517 585488391 775449500 759059200 387873975 396489213 410910111 355675710 664891001 671048966 514781709 720391751 817310814 122693087 110792816 514341586 661832105 736091083 361081060 715496133 895519220 896001419 871550983 446574181 597935957 253357348 296351528 522912059 884008540 897355370 273212376 940552355 522930917 643940712 229362455 101716964 175408073 526291384 322773942 198050344 549515794 600686437 936047418 716672027 840198103 510179166 597535644 940016263 997026622 127901862 256125014 769386276 226852071 137458332 647919442 627997354 490405470 269293528 703757590 280123605 768343736 497275730 421377453 735713149 241126618 435506351 396736749 470302319 541890229 897529738 424166364 636639691 755062386 631002971 445090554 192113900 632661521 617724030 379217169 294323168 152956042 616095270 603728184 163152708 819833348 886445159 278093160 224273362 700157865 164430251 356427674 677564554 641816138 947554147 279406807 871992195 827262625 654674633 394218800 672617275 549132245 400843589 815589128 255452709 831747341 242051118 963209317 969119658 997888994 528778403 262006216 963358040 267106345 295111742 439945970 198241407 480497193 947998970 502298977 555738454 335571769 368725470 190652698 413057094 602901378 835685731 322008024 870515017 877575616 439941578 998957882 610885521 484734794 232535030 960330664 152264769 850601487 729235627 213615411 715201460 590263848 205971834 316493558 325665910 959460663 552683237 476072153 181918092 959977809 721191868 796818133 715718688 277891202 593209841 849694067 314827166 697706368 861142476 453074945 558122162 224861445 522421943 633556536 910050237 145791539 284852261 950775613 504379761 703457329 374731425 564491433 940376746 444006563 255248985 400279104 662214623 694173900 715426144 219334758 184771443 322124603 593356692 624861000 261118914 749227600 172944690 458352089 357940373 501150696 980494503 572955217 731334827 835141545 206057092 152752781 866427181 134013615 920224103 431950039 427134200 409324114 563112083 648715974 560113806 916063453 310439564 163335161 850220030 158498714 522604146 351526422 722329697 921163598 850865272 660673421 480001461 224806044 826056227 610229375 640179709 709092074 517804145 875761721 608029765 860711854 344145095 620960128 777105573 673559646 357336341 766727892 117527650 541118183 962905273 682960021 259776429 625639559 340033960 420615929 125447434 359339696 349589445 417547784 965645469 116186346 636223806 963296783 231022298 728785863 142813621 597731103 370563412 687310626 831080587 660831431 264240518 206164081 158707199 886606176 716142412 913471128 536403894 127179121 349579810 155344846 741772334 624542379 878149197 877305905 176043978 393475444 611714659 666124662 137057470 716059488 438082532 825271818 103741243 931220006 362539367 525272956 913641237 743519729 957288961 705896855 280411423 642479943 989761966 925625954 232088623 333683365 307777834 811376552 177329095 223721444 247807787 401352926 189151133 319996093 171433232 463679406 906683931 952008770 762990584 286402274 521858507 490303768 320042210 896438177 671619378 280446101 410584524 640506496 740705224 106454775 466359443 754110041 139783739 347088442 349289373 360864406 496156212 815000180 272361119 181769550 347728376 834075112 172867167 869246105 560151985 360820803 987531814 879290430 767347376 692946083 788314396 502954392 670796216 424238059 453914208 414192091 346222415 228237339 370676633 462734113 626767150 925490645 658374749 757389885 136122487 375939837 930335213 426559059 203319500 738611453 193430273 102122042 487341483 393256071 712881930 280907995 342391813 336256146 930772351 648398819 712708491 425386882 489587661 616819755 632078987 199607508 723988864 661141335 218735221 445192539 718302032 121759242 156125454 568255758 485939703 546372150 383996913 829093288 341974853 957268272 607564309 411107558 397664441 133997988 647763276 751623916 418309538 403787596 677758396 935154219 571869848 159019720 448786204 320776016 922925084 567307359 212912944 862231740 440828258 910549035 616974110 513756637 359771065 878401496 292054590 193878649 118388990 152666400 266921453 636023232 482068488 438445883 101447405 671816273 726269963 833096181 534705583 529197199 971937467 301690115 881572463 719332703 228949571 597773167 568614040 521146412 788020857 983605658 811127232 190722177 688704014 175225828 505498410 783850784 108884071 886191357 356122461 582638827 239644185 112751204 464274938 894242648 519805636 158090579 124948672 812408321 454091386 624243889 410499185 926029319 553595135 906998718 701581747 909523486 668171327 502461349 622287742 266963412 349542524 466014163 625762419 526714117 327344727 702739137 545962148 713906104 451406140 241671958 639247796 580940219 617506818 200882191 752006092 919668642 245828092 256314074 719941576 746300763 340417799 152903881 191787531 109097765 857068839 469563984 968145065 266512998 225085851 224037963 886761005 637187780 348629010 318148054 591827135 912185247 192078540 418546380 470482678 562548476 394945538 888733129 834897475 975530189 607274345 880005144 985738255 689929022 202069658 558062200 567761683 627536309 678362157 778719517 609766200 513340826 595901075 144472674 221029261 351101573 251756031 200940339 234690537 323616970 294814473 337508954 528770455 959599979 894477504 728515153 953260338 360654272 993516202 804967851 116771678 860981491 154782279 867892167 543360567 909476615 254387608 802103366 849812910 493121807 393716501 911574235 338521756 934782100 311343120 381548264 815025150 389319935 991993192 888108017 717051736 146510818 734088684 812011688 684999188 831490499 811985836 572947581 956782686 510346042 826886177 261438166 813886905 412708732 313216930 198945921 964318221 381135863 811511279 355520165 889442515 540343834 851691942 527645168 397910569 668797010 485187919 502704882 424235934 113460273 656019538 314969564 574623096 254545259 659471811 157473457 716197108 666032951 440515397 485286016 891799352 659049096 574740968 376457702 762648679 898641643 829480013 617123353 856525782 880556327 746897558 646206025 453257906 693921326 334440480 129423617 667902612 535711766 920558265 820541036 815595539 734603642 866611263 395954338 391131865 290038861 751533580 270702952 989131679 882994581 317401550 634492586 261624912 544984129 362704374 114893007 356044790 943378673 389296279 538842992 382575841 245988756 610368572 629307914 287143201 685698854 934276254 395894560 308559252 493180098 200482961 419523702 775189224 707711504 799258257 311265158 560547146 360988484 869940283 642175384 723918606 810036166 109299645 573716905 797676432 663813415 493064193 277623931 931673202 835930620 969075405 967242080 582953025 956191915 767343492 613487719 246669220 497361947 323786968 150344347 948764617 107902323 396226230 580817318 719378560 747169318 362809944 327106089 461182110 222596503 581630333 808772186 768735369 120856255 922320960 163271022 813115519 512653527 492793906 376784485 333378387 162098589 133347556 627165801 333149455 797700131 636088656 420807731 278853318 147818100 692492791 611266451 520198441 591963067 414972730 257609433 937422732 156998523 860591558 606346589 708992037 333005780 637989382 312199332 225884582 852630740 341458820 969696277 746073605 628005177 656998829 342699032 639612969 333927845 839330050 870184725 455610784 570747669 764556024 206379914 297137522 604989609 489793387 365650758 437481921 548660547 137250146 535240728 387854779 890968275 653197323 430229192 949152340 677466238 847217178 773759226 546189474 989800875 433036808 360398725 243185477 617322841 514790437 877789756 593630615 369380991 756871433 331993062 966436839 590185857 838540112 354306076 737159093 230932056 256244700 188069046 282172869 476647195 900668901 698044637 795359639 568812360 685480847 331542179 464411628 430305100 704207465 839250279 558986885 274201942 987965040 691170685 338070954 893912738 197591282 508457819 786902705 368710230 735788333 975409578 554753720 987477814 187986462 815179786 337210264 285839931 251757267 592630892 772496753 889392843 846207600 226607679 268106940 391872288 663720192 355109028 855357131 920879667 998215857 929301493 815746770 711359803 581925841 408513893 695709812 251518634 409969976 984357285 428469824 579337188 922301362 918405331 996463679 364043004 840515021 732195357 392007953 312323707 762812522 439348693 658510333 580543568 368303174 573948281 734164483 703406027 850034326 765348646 455801317 361897974 129121505 919949896 617687511 829367248 204734466 971663774 627399602 906907571 712317991 577948328 439626407 177329936 200060721 947535071 785146856 389322324 116837462 455065620 290137320 385535570 510180873 294534987 738374264 834522022 842906850 898454949 272349770 623635687 280258760 262573509 161517672 166147558 319401458 445679890 774565606 633328931 940628177 183628952 414927693 311308636 751772377 427962467 656921809 611326265 578664048 227413533 786144890 801417889 632329464 703360715 639204605 506408846 873137489 685260993 775226960 862039424 765508019 929173948 741332584 825980115 206034062 796408334 319216594 703809808 103649383 662524879 485749421 652969760 527473805 789155049 344933682 769037707 602630046 300972305 721462826 423922966 329998714 747895902 788419220 577240054 174318043 217933012 937307098 466056133 604967610 152819851 877402510 935033710 481944732 215048168 573256709 592582814 878555601 346410358 800647607 575096897 305625746 628320754 909523183 777675218 446019190 258468960 120261504 993404883 808538462 191419110 926106089 345621423 315119982 414526332 659737756 938207342 491587565 927010428 711804202 958036496 539706518 993190123 464528564 863368412 326776964 940227110 774924445 783233636 164295951 242798911 538870481 693455931 644875511 297106844 179362262 305679143 671690346 996133794 690114863 216099524 721707363 413827701 488459895 270850460 389293980 356559809 115632158 267311867 177426025 882972106 948901718 200114240 240218783 800783002 594662639 442114413 138272751 256583604 836167059 650186132 917164705 235907220 933379430 170648971 973067747 614926421 184881978 346153291 920826711 316629093 543933526 723693095 693946643 441615798 125617833 189518572 867934979 556569278 650524033 245741745 738273986 101177851 776614213 861274839 727069923 583392869 191985077 663926684 274649769 502953447 804663191 284193905 837668512 663408906 790581213 729050366 946487448 936359328 168807769 429236501 405609665 614800838 106247739 624384842 713976717 703515896 662040174 436670672 775839673 669358644 822606062 837472071 725618045 459613493 134683037 290417772 629260672 798534122 503028532 815550059 213137617 838001519 926883247 828978556 304260841 428632653 411543011 787829846 212774278 998567636 486491108 855419494 197674103 212071139 555413290 977570570 497640673 732100629 191090721 446925673 619359724 360432757 644257636 394865348 717737049 499736835 528822346 774394431 364251452 122271611 599179949 956070072 866668292 369554260 212393494 317926844 984131167 243450894 304552474 480731453 209780493 406806299 972710862 728459389 281933881 955881931 766514815 979516601 755482953 409051829 542207653 475040053 904614067 451276522 157586801 604480707 953596417 220264585 741347666 184176765 372495452 626644879 461958615 222757924 375904908 449105493 690347474 770706003 410719443 989495492 862351281 420124952 423216503 743769829 726801638 502386812 261280779 215128688 201384511 494929394 242627770 350915706 830096754 884471329 670126016 898158607 517158158 248483015 263818368 374188160 955951908 425484796 388500746 176039815 152190537 703086052 229861820 867399830 296298609 583141990 108356246 254811160 973968955 470216612 525842515 872955586 598760250 141207985 396038066 865331722 489533554 729388118 975204984 865540391 804426447 431510101 361221093 600180738 444955081 784201155 535975059 938123304 674569198 105911827 145893354 798377625 339100967 481660483 640457530 248212252 151477481 248970910 171401264 787760249 377519119 327024473 885890086 410780650 996505760 260906550 641233390 975484375 971629239 177636411 716283198 605356667 176135680 192203839 663489857 705622643 270845098 451657240 875727630 960478698 596407617 360737810 364780044 704371848 787718257 726608301 700741451 484165774 256638002 700870085 856686325 162769349 606159201 651255395 862816114 843840679 611144537 252614646 661991868 376546795 207967622 258785141 848104328 437711084 786910391 110434242 174808046 618788783 909673795 452299171 857846941 373068109 851812519 446797490 555608834 492843212 598381204 825242030 533457549 787172856 407389366 723346612 815358671 565156563 720306963 650181683 644440738 265071579 369175281 614199923 980148164 332846614 500240451 827374356 320410054 430720626 884338574 252005414 212433313 411036606 588910257 417093905 217199473 891606937 345720908 416764126 162439975 759085512 631749552 123151864 966746918 818017798 967462505 307287171 318696210 771250000 676108725 881524450 221744782 373532561 942628529 562644959 541590678 300058406 968187522 446980978 456802278 646491177 858435981 828660753 857960461 169885799 432353081 915007367 722177089 503263872 187595118 402503332 201209692 842442985 429383054 882378575 138896939 308880104 219719888 767529892 946889977 925150483 106503078 622887129 193433711 781851456 317572348 112830019 475594072 323768760 455539251 931504446 382489857 733906252 853609546 599843184 855455820 818909402 958305796 454846788 840591446 751709933 996893708 890182518 251848348 147496118 349166794 289860590 144573842 289463550 104919248 499692349 585012531 269903363 557492016 953130325 600500835 429625990 160437379 727519118 231617801 678051138 422116570 727260426 234578694 797884484 155205391 914187859 530046395 361460944 350462932 897670255 730058621 542046436 849305822 267570041 690785245 974163225 181583779 545875220 938468793 395147656 985543324 191984493 239341648 884026991 998297824 711013676 196189052 971841343 852818090 593864573 217682080 893500965 947872130 148130685 849107917 796752169 664242443 201943209 810491545 779609006 940637926 663212865 405894375 941024213 834550033 275461010 282241066 902831557 313534637 950730883 414758562 530346568 177153181 827779912 789137406 634339890 238229607 175744974 731052687 125222186 588398323 942371107 612729111 231865176 208312673 501049825 370514240 353386437 820015122 339348991 293515398 605405582 842042541 568285546 383826710 940085902 161521303 483315955 118519901 923732644 387948371 723476634 314304435 342534636 561065153 436487874 835916639 830341872 364758254 886086601 937945304 309776474 872873010 398963083 429436350 112874750 456785400 316471832 354215165 788642488 813608732 806177782 297400516 867115868 854423798 278567650 757507662 624940012 495510097 572462270 403514461 916214987 395143281 739370380 518484761 625140729 111874008 349305688 738929349 181347684 606126220 787255067 277169273 233884623 854622769 417145372 890523056 771497932 965497097 604501973 609024108 183272739 219741843 395058001 343696625 754628191 753251577 414431832 883587870 227057906 962623111 491951452 828675955 622310697 165765319 303598801 654016183 822218961 815888831 823347809 705143716 193031154 941504437 780949938 374267845 919542618 191640220 633523912 602831531 997116376 713559435 656646985 453613494 285741629 389801445 512829890 489957206 488569148 377379735 844200875 809528025 531508680 876111244 906082691 402639414 971751462 335029245 248456463 653835420 611938403 925820584 186883885 249536651 920728690 576422033 428860357 224364669 105725297 631850076 294584459 737463820 713663727 685368765 484193815 546486792 690068609 339117180 448781131 492420463 612877936 920511907 635339006 276902912 608774199 256337348 754566583 161319458 463322413 174017293 335360626 840265133 653893159 448572843 359637719 370330087 511726688 440480134 779486651 337366255 727464730 508330336 474606507 544196677 452550823 203219549 152434265 558365454 889009391 559301611 745734523 912379813 533276335 968562961 803517412 968240630 681873420 436524469 953928618 868442439 611910283 406625098 322560348 897485652 918712190 632880138 975139967 325205377 717477644 806972906 280509706 891525513 473093392 180096947 488070143 243639910 795574460 739679214 406700113 576171683 166171339 174978800 258667068 580444241 573788362 426326328 696756318 595577905 662384411 528466865 745606622 586106763 651190667 757582503 182698306 807782445 269118443 877301567 598649400 884407903 108723167 716213782 850979018 514322070 221858316 396303026 505291778 510252539 413716700 533900904 680598491 679721846 830266440 156097147 310250633 270334855 157849605 882753529 116195616 685659625 501744314 860852188 339239933 303233100 512873283 685600680 180513261 224466740 740691492 830579589 700381090 840710532 201705149 264511363 713840334 797244038 882136508 373455030 569037983 842790903 672070167 555904808 703019241 147987435 783166216 593264275 853301193 229817641 985783431 163233923 768416672 333614590 696626219 807742690 572034824 348387227 788301840 840732122 895506643 280958598 746887653 220590199 272601942 921807666 927545503 384856298 241380765 660367649 362099345 401874505 802473486 367859932 455118609 357438270 892097891 170291209 497969175 795311138 780675697 392860327 201538434 349130975 880454007 384324894 416976942 376919714 848124030 582552381 562709691 358359165 233770909 344679766 808749298 873729482 678421564 227819928 852598905 651821028 436980456 276478204 385319990 673313400 819916577 854175731 365426934 896300220 178047369 681661341 247897123 975141222 280687767 156308409 842623417 209482277 122270258 610439500 633480958 289894550 206517688 307645629 838459391 741789573 668786124 639378141 936618167 871305530 880155782 654479857 746729467 669557567 320469956 458535058 281640682 143601335 172770580 391302699 124861295 431392594 502979414 457726871 347132798 223987842 715228917 643993120 349583677 185656250 326351680 802329134 503757118 219476945 564669856 700100274 485599034 739522921 521948986 250927105 448199869 128313922 668712904 501642903 763329746 171315141 190100461 122098020 785780664 323031112 390547574 848484270 667520179 985449703 979790974 664820583 275509202 240700989 619752393 748106434 691776025 758031221 381189404 795700715 749046606 511671646 482976129 248752751 950729923 255010576 412609106 508562597 785955051 138938503 202848380 877068521 989744773 667902536 180459452 861202393 577328004 272755034 529078049 472784625 214965224 316782844 302400436 410683148 615040760 952124725 388006495 730538850 583878631 435934737 153153127 135939814 286906587 464711136 480045265 772501183 853306170 101036727 561106555 249218215 945256741 852572344 522627214 402553477 326564832 424697207 355363414 632917053 645321117 126192396 486775352 431995584 226889794 433960774 712421254 289882686 438557962 304777388 266581442 988691707 304731968 882159627 502480906 707725939 964881981 633099537 244868865 100554293 610803053 531188593 806234199 461909309 483617465 583740156 746039271 170140381 943808434 341129611 728166838 888551863 510387950 999321380 167916044 863177470 543399024 981926208 260174150 140754181 845889125 612770219 894276259 349027734 431224985 937029194 764065439 288483843 432357717 945803951 590076475 517531687 522196688 337675095 455947313 118041682 822857326 687293532 475527616 903960186 847871476 586604925 414043865 685058170 371851685 693158258 527620690 160134136 723711611 227583111 648852230 316808311 536571184 515738500 606361651 385211316 697469776 698245648 516525464 246178543 563716190 833183710 189241379 986728959 313712104 285452093 405651645 280816634 311512200 542344089 501537900 487823849 853534585 409457388 949471565 846405043 817903154 258682854 848707817 439429646 279100683 788175723 696358909 973839683 193326682 866717078 754165464 418271133 980217394 659803517 815319984 296319440 722124955 530432993 639951210 507284238 305203944 896145490 221387470 430157547 870716821 611634351 761751462 817348830 368011250 646882759 920074269 899040248 371127148 517492365 397089525 110387491 505360326 601328820 885231963 714647588 585419706 476453279 968624997 921543660 655377502 834001107 118803475 852460105 940808493 240564763 678128896 828104114 795063140 252706446 951981877 696929077 588810070 303339202 453973896 265157389 189321266 761433880 304167324 682867330 426592895 414760035 510691715 911637251 690610335 657356390 733820648 459843559 838514646 804036945 377594264 854961710 390368253 806277763 720990714 182376675 197627555 747569403 730311621 544565618 847177340 277476056 180035720 484355557 781966784 322272717 952351974 782227104 191065104 719931158 337032953 950651918 845052432 596074498 622652593 975731695 609779262 541760665 396985726 365030899 546994489 936514369 768193754 613014108 847132875 416514767 608534466 562497283 184805619 529321466 672539922 733398708 251777112 238043115 375163308 834814118 666294536 214690127 384961189 113865149 516213534 381110946 504863145 113124689 474730386 633655528 286297581 266042854 404867946 908628189 339554772 782749374 514349555 597271484 283537964 556279727 206686652 387506500 490458461 975544679 335414701 320438667 384914836 266387734 771685806 850921231 303515122 606263497 347181785 712084251 829066122 147178920 866465812 823383206 924859880 379475072 724042131 736520975 839048391 464264473 850716208 582418292 321574682 866834806 124785231 356292946 742545299 124983918 321357536 185781103 490014640 178484394 984560927 511193571 405903181 914708272 557045649 322984958 742235730 737557253 864230271 627938577 481020241 375897495 116995863 245299822 511736281 664470737 205792583 812380368 729676124 258084050 152365352 789894930 152362373 193653211 523146143 339747873 750937999 988285706 487005189 351551539 781350196 392856470 433853822 208793186 463211059 445152779 474568129 838147419 199877653 679029812 651133141 829441749 237531220 225333742 944592246 383973092 800456196 733535106 840539503 176599298 858249356 282565197 349983468 876663881 511435144 697482371 105551654 327429000 445112525 810538983 167343528 445962652 703873343 516914923 202177059 972821670 357559158 818608995 257461618 262364922 233137474 728815992 663607862 571847290 606271298 758293181 719895806 884522050 445209794 332474865 813612226 611814825 209146183 269037904 195648204 831317360 368812318 950658562 422904194 599945063 986838802 107613265 597181755 958633203 918701791 620166460 216845828 847327244 770294071 678597861 162599813 588428895 958406842 709180318 433039077 770537495 906547189 983834885 981659750 519693517 430984657 889441793 887337826 259424052 620095494 618678002 693949923 119447030 971442871 931532077 961486774 638814971 337354278 879028998 857899704 795192033 504799035 551679799 702361052 590129124 804901072 999352774 531340502 380129104 385508058 210524277 156804876 251683835 506975355 589446966 224780314 506603664 112076821 391157199 660814363 411773470 969822574 914167619 811348412 277520303 784463639 583657392 690285788 533847424 773818035 817359907 239601479 139398796 594843107 117946862 890594526 323932203 474135203 153024117 517223985 780237236 440513068 875126031 766668380 566573370 320769806 813752788 920200619 122429408 225940055 563639867 631361062 455975464 390528023 247154535 935704312 390330995 305168168 116699451 543866726 180059103 959098362 907417541 358853330 295413176 442369171 922590907 463799868 170217796 483697084 920528702 339381454 605024637 613474105 484962146 899322565 808143259 274062511 350867874 775499598 763035671 531347501 752637469 249608256 130419812 588484134 860934623 646953552 629066937 910023870 509438320 787549617 768753603 586144926 767850723 373542052 125855138 375014591 208549863 920606346 544549640 431807094 673126185 809507175 402645047 704028532 715178998 794251881 179563903 990300058 311416696 940800797 663350075 804011478 753955357 102280960 804268044 772338165 128687171 870403513 900044284 997734056 177724692 149508756 953140302 797000377 393346282 346732964 851057966 802372089 326500825 703105969 920732946 690979822 426706159 816288843 471335973 297845850 992444481 726670426 564653353 607788087 515244766 933306618 552060568 415832517 417194800 296381998 694806328 434272775 255446771 694702688 798698971 662244355 899194776 823177975 362575992 381052404 655517940 321992878 435177405 870437368 348327032 463673045 657519208 767586490 216707851 182548590 476292572 423123679 337627757 341438244 796111050 509831223 731955193 297563330 387160304 958437230 557807664 621019013 876409860 616193284 348551414 885179950 426922217 118328947 981952034 990011167 500380854 239788613 708675523 131439389 747838055 682981011 387493459 161406133 856906827 918231624 774538890 726089189 761256930 504903076 236494587 749944824 451445177 953545481 164658424 220556652 805163657 417744028 691102965 490877036 464944974 771582995 590620681 438290359 311374126 605242124 877736750 236636290 672451970 634649440 403533786 697053108 442554779 869192870 855529992 881275529 131179645 128620585 943205566 394326531 876283079 808744585 500239710 211320616 516999415 318549638 565694658 571496516 772574965 410320931 575323525 123592517 967820928 790603062 289424116 831385952 855321914 888244038 450158878 936528508 572259373 628897674 795636651 134420480 965574836 770551230 196402074 183269990 672475547 396985471 246321209 894113865 942031054 547847820 576892741 878921392 956339073 250149544 100280181 419290335 372334350 216863888 441722879 251028789 649364247 964602838 824493311 858133778 600767994 958045284 815785669 917563320 654027702 751395224 169580332 185067998 701026551 832527685 250304786 855293291 412414597 100985873 497977513 640369331 435269387 788644545 895549870 837348448 125430648 315816707 966059934 621075471 256389529 784428691 462877543 267556907 992936776 603908840 941558428 389976120 329889055 529954969 457364124 606836736 654962062 574527328 783492268 957434824 251843385 880941986 939186300 336698504 742066790 438495419 441107755 647118421 765235431 244399517 101041933 671064648 271673106 970404803 102497118 636239179 429486611 592860069 927332059 141780013 199260793 392995913 518188045 726574606 297317297 497582020 224951727 430415511 727342287 980257509 699013188 211911778 778300512 945864020 112788804 814200745 496017502 384786518 462740239 943547592 881546880 996350589 953597983 464184817 525016964 535513612 719764947 125465381 995883468 888843866 772233407 659332570 874050005 622648089 439197922 227899896 274595694 453738101 777855249 713965999 207245735 463664221 541699893 862655363 164245020 952340559 738378955 857100887 321559257 298015883 586717736 192211107 880408948 443018748 222425951 266714101 527263877 213929549 320479862 706917647 557512431 251887249 866938411 958665202 520575717 197080855 411138026 763473240 808448499 291012697 808170507 935209162 513690782 727290700 268237136 808370012 331195186 969810171 694460853 310820620 531735202 355929041 396638655 676368303 900980573 589250608 231873158 881241086 673163413 597705955 424763128 243319186 411092808 450879402 777745753 344373913 248631225 480751246 653625143 990576264 543526280 398238722 850246728 258298488 413152631 869556052 588058630 301548183 378204569 995895909 406249763 395273198 127235642 941187583 487489094 363556868 936165407 560648886 485275295 397355877 412171409 873641268 682258040 757048437 324538723 430651458 939913441 862897200 585272596 166421003 310277107 931033755 532582904 912641865 833696319 974208735 953110047 596957742 517738997 883559088 995611888 654667406 775062953 195366624 173501995 256318823 986305819 705750038 869688585 257690704 898673822 334151923 926022897 639146553 618524907 873027743 268995821 984738388 244145674 849217489 530279990 800633273 559871467 516849519 677871510 323295141 370251230 765758982 420802221 782214375 590271166 519762878 433898806 257548217 673082845 913254305 195082105 233103533 227769296 415650326 752384991 812043763 834380971 939764527 965746844 874772894 199386196 274906340 881630884 452453242 849598210 488563194 144489422 849774909 983842066 924349807 211851468 830579138 455719400 743794396 283809062 736555916 891982511 558560369 989998077 141490181 120419919 183929718 403510163 807990160 747424940 263814855 362538204 381395197 512986919 645517470 689703650 654597325 624616751 234752266 138855419 609501685 651436960 687924304 509084233 119417405 334798359 970971981 713348760 169839452 494447759 156677943 243226977 407025069 334205602 709246074 520342639 591897282 535307720 860948782 149399509 151263987 573100502 535921316 135671835 867362810 703487148 449160854 156408576 182795031 686807330 167710817 877174727 677023010 251203998 282744035 994899080 682772552 649388431 248304877 179023237 575530253 512070333 435057661 770518492 361964270 302637452 878549398 571265582 786658446 772383986 881149061 237602111 344362724 837531918 197696204 777593241 558794293 357421297 223274445 828443343 911336177 585634547 917128321 404771796 633538066 515036975 976237319 884204252 364732339 368347955 236253797 446463070 272198285 610993219 717659063 670726022 295251132 330113329 350389041 659574797 628311099 891913429 881394105 705191142 923417556 178743058 417777539 940304960 520585267 344743795 189642656 267657242 626158961 367796146 717696608 103428092 687935588 933243475 685617890 349249360 222275728 569942941 972512382 595122032 999567326 643984087 205292098 412287941 357528708 844862932 347605167 175411712 495861188 355429510 242812422 871123182 804240790 299867299 358532874 743534458 334700314 471240571 469444092 136701055 783517383 993509380 684084977 474932156 998830515 181552283 533367882 651162298 949465110 107395013 875313118 167512578 322549950 745319339 993677119 666291355 653506866 607606359 610233902 493847929 930826630 485994866 846224100 430942944 114975768 952527796 967900046 993761245 383132579 250875832 830938459 929906021 580607277 923741510 781495055 651164445 425418637 389273272 769404439 104974195 519071306 941221087 283806033 448333422 729068106 261634764 990222024 428124116 680126624 440782509 981200491 464924017 584374030 959636101 913724748 191275295 790162028 915686820 151276898 916538266 412985283 680946251 616770755 284533760 921384097 956916207 359182875 841708489 163834396 484624810 441869067 437430986 474373265 706505503 265262186 807095495 768880729 372657879 194520292 704776493 861845003 479263278 412888690 377950920 280154808 244647653 553974642 392071199 665679075 433183269 537749606 247600953 598851600 929176473 159084251 238343325 334107350 315739782 727625840 596962473 424094297 122559911 443255240 332236924 277395154 660687231 381064792 371391087 757540079 659665228 477521485 880684499 520619623 770865612 237807860 950822522 563720112 530633237 407335482 901187475 224063850 539976731 110518166 472975857 938164475 192572617 634365907 928874341 721234526 243573856 111449393 562739328 555940394 807307802 106810186 741324594 164274545 174892475 494738432 548186416 171028054 126564124 912428416 427163243 272788632 664672338 228144466 568327781 207242628 120514472 277164474 173441090 381667278 806995888 640927612 496029209 458144651 523676385 416165985 714959365 570408300 702529568 793266391 323696366 160985228 234472458 482132510 257262813 242723524 784476403 483960805 125385662 588494298 876137179 785266468 287555371 552935192 865424123 893970399 262124115 590330309 644823603 294355685 430440195 206807335 713879516 553396245 701636030 389018803 437090629 527565800 962011981 887672942 669812812 778149082 833398573 576392297 179071447 309065459 853243004 190413059 174497310 942456153 423391848 223324024 496998139 164939368 877424723 867751216 567583570 385156484 632050048 677206952 438264604 834262237 728600764 703893746 807443121 159895732 575556638 555941492 331426981 494346217 859332163 485953001 650567171 694551786 297759999 551343128 922186945 132076318 476720993 726068017 127503834 216444323 557512264 717827234 705333698 707563245 722786377 933475464 764360744 575109425 227999950 347925074 934978129 811882805 622255487 411001321 868561504 463938452 266228069 280408701 635089517 571842961 175924356 416368356 523443174 244787820 228691210 397766979 228490254 713685116 665442392 427256122 744786470 989058386 790622425 960688317 234990681 264129030 738590085 719664424 850378455 865816661 105739421 378677846 527626804 644903915 940255933 643660924 283455328 584642775 304966309 315994276 888964292 174054647 652567241 328794843 112353840 216743823 443464531 516408774 547701862 821679619 711614391 198728466 320808214 405525718 153031628 682104155 481119207 997656463 404933789 417652387 838861839 288682281 521599961 786907530 161180279 709727841 321540206 222324288 392721043 822736927 323943235 715737053 118192272 452925512 579386657 737305197 804125867 275166733 750935422 504919443 483629924 172435516 878657363 371280188 627647740 849099599 120659853 663446500 616249155 278036557 788186416 143988601 241041461 116882789 416534375 143814513 255147547 330127331 600974808 375821257 982398885 965973342 338405373 900351740 795553762 996331978 131318393 968286573 232276818 886098557 560147426 596366959 766537128 281278444 446448381 261128622 779015221 808125980 752755968 945596847 176572670 330207577 764119783 268985075 461211213 836034195 689156091 420668311 676405428 119278451 789589930 919977413 321357992 742412079 223563443 172911278 350748484 612048692 540620972 578586270 369475343 958562496 155385058 868052914 998118717 748443513 100531602 342407892 413869776 458110850 520850598 407586831 843894740 503008244 615724585 919804330 445585758 601814725 240635960 540375711 397108742 602541208 940639877 591339622 275249762 918047945 411936673 266954325 638086488 842834070 721923618 472706762 837307625 417046609 981095103 297876199 663826238 967973107 157957175 501164942 189528486 351295532 903834989 438878413 469145511 163096974 371135656 100044852 704423331 699840263 359331517 479699951 770273315 513749112 152247389 418383279 566778312 327962235 457045578 202576972 811265502 326335855 339257441 849945111 181638626 678490958 182436782 420444807 311173169 750107935 466207647 500066902 517988604 930921148 861105185 338584011 246920471 546805605 378141141 869566669 990353206 661024544 240924500 233172475 221335719 238569538 506775998 664953869 911309196 259677450 264882172 121021491 845695397 886116184 559442930 468883231 126193016 390645376 806126905 377204249 609730735 872447348 279436012 253353687 804403010 595568310 198547703 450893700 586764323 192740909 782818318 155590764 132564762 888880655 440099343 769568845 931900338 895246269 523496659 178212021 867101888 861800516 402170887 810122914 623789855 793934831 487300858 907724072 339053559 627286091 318481510 930763159 397657880 898033915 254637605 774069546 953134111 347170650 357607565 416623282 834906901 437829637 439343790 408087349 434816899 598941701 684445433 166826796 420130618 838424407 204095882 146446967 431383055 698284318 603401479 394329630 838263066 238265753 762854259 786142523 331508983 311447928 850452335 375763610 291674782 534300958 825986797 571524182 946563028 119299825 235153867 965625305 706388444 142609127 576563046 166683965 300010567 635171176 531195739 322302553 503440087 634510825 684616134 531851410 971174447 766033271 966746335 292723905 663049495 762519866 206255352 297326705 216066344 873787966 138176970 736628707 564237967 303485081 556817561 359365700 467444176 874779901 750416128 116386018 954567064 448113743 721795707 545523772 987864463 915618888 936184093 688514620 646785997 369706056 658078612 266739918 950764972 646787170 698223698 494670583 532639602 901087133 643227546 469741151 157250001 276266623 558676151 529962538 835661170 763967051 720894249 585238824 458309849 853000119 631899083 580879505 335341629 208476387 805388560 902075012 721634912 427497932 266769337 818279646 954453521 360288925 772920589 842132486 284670273 945683321 907265577 131034369 617206592 824870244 826408206 739878651 789280249 648002797 220004764 633204579 567591148 630285177 825398462 141889709 947654956 476768982 228986679 664890861 516194674 450569457 904624217 798405144 553201958 213928022 434737925 358991992 725660300 789320174 974269121 860535276 842596292 173785533 686558824 896746938 242652686 179981739 450276350 488034164 842434985 558932638 705534648 488915342 502423765 344875344 365412257 588759591 259041940 691939286 264254646 398482762 464475756 243836164 929345867 672268503 965859608 311651811 447211543 673322288 590531953 495593691 788006494 321115490 991884529 485820530 694793110 414613811 471594321 582224357 145752490 608778477 142975189 993692793 612154509 238129753 654402117 145379623 858494971 521203905 519809721 345169011 876096463 705673513 226974342 340903728 133668825 820888947 760358473 414892867 179883435 588507393 270013100 727439123 713573583 100677520 761110872 577078828 266348848 281941953 248921355 728623765 658372830 354043016 154155830 619797579 538267701 816955068 357994973 263129234 768620769 285850676 867424085 787868508 740490283 656236989 554634695 108256090 955485197 951090962 181379661 525891933 388767429 590782342 499399769 241666457 148369027 846248205 695628135 183544503 249100202 367297416 776225032 596115895 975363552 650888729 908348440 837938071 474796404 337496818 501257417 395458432 820175742 330514523 650122059 199327826 263924552 293539633 545697234 772705539 480880184 400688948 419778614 987742928 851237156 210248667 735545646 742342565 604989898 381288579 278148696 234227934 958671149 817597492 112035380 545015107 134083335 547722253 869008581 253612599 240474636 748501540 266000608 125144032 580808064 440788953 632015132 413926084 809471412 459552841 726598938 829556906 960751402 287892096 338332762 282601259 590218175 146328326 714520378 454500184 216226269 724922583 488593516 164492324 275527919 340496470 324494324 332350757 175463736 704146734 790240166 270065183 385572870 483708775 379426523 598954566 307999019 612092050 482188294 712859985 919182333 121963714 711038569 253024508 958225702 788402870 441034594 126913190 266003173 460419243 626618725 515619231 126312620 578466866 317641215 780730059 341497593 426226519 130751683 484412873 619877772 214292641 516469051 179697468 549699569 428629581 710106399 852471911 224502771 897526743 598731542 722260000 309139542 625875521 761095633 400566194 175693304 740730058 443407456 115367418 809306955 102075471 704664003 495877351 683955633 303948931 148331937 977242039 799499888 663732501 288043220 305782250 487629533 323411524 860558805 767045144 119028863 549593423 949462337 851410634 447164240 483756647 414139606 227427409 575927807 920945883 601305998 947261265 116596518 298849947 810776644 425463621 996082146 520313675 884645341 251226287 295978943 899745799 717665336 260580305 769109188 636900414 586545084 703028938 281434865 193092511 365079363 669644227 997675687 122920028 208095140 925401976 166565850 479576894 138371217 412037876 814194377 538699667 588366379 296002956 688403389 928933864 842957097 375736443 957688838 964557686 193671725 477768330 527285009 590370123 808619245 634230275 925444944 909670236 884266327 947622235 598746928 983730180 522685313 901864547 766824812 363140569 236424521 743815922 112276930 413123367 181625156 654525842 930907996 106847244 429416933 547931053 401626236 960529436 384606428 952455725 628545901 508388081 387723910 530329954 869248588 177294718 973065391 631538876 874007468 662974927 667329420 117104981 333641473 744178353 727768033 938284549 686751131 549891316 223771459 963440754 842637939 204142843 996673288 309927456 778366371 397504190 581215766 306389099 598784567 751091036 876163556 977189674 242028223 927601396 393865186 399723621 657154415 251247192 299350750 704603770 350425399 367886496 237190705 845560455 243399133 289534669 931614038 972027508 885418714 113495464 279462963 118300175 144036263 687191502 372543421 119084909 784379036 547744811 770799213 535013395 274280684 286385073 184781463 152810202 288532839 998347264 518900103 796818694 418809243 213142989 235939498 773502177 729417394 853100656 206975595 105874059 752668894 715608526 389473302 186491521 859675358 957550322 829913590 888666267 590521627 433129082 914082157 200527344 451525755 566734451 222098078 794541500 165855446 897348360 506418639 755116580 457873107 271357476 880793592 799158086 973705425 542987008 876470178 848929151 136982690 918416616 237923046 560649108 987952772 508902740 465318465 533467160 951508041 817067392 638511971 401291419 128709998 443224209 490271312 259702619 540842454 930293753 498729602 209486737 776742068 310094263 873886488 316070574 114443821 761919067 691340418 875739745 958470253 751451791 404731032 695698810 841886995 798768425 878360115 100554546 980189891 931611484 585847217 432408683 831007991 287195337 505080010 407760476 396311601 829561160 580839997 131257368 265697511 515572187 343810466 901116548 424859355 934476180 281449288 556884337 188839399 125305925 789862496 754589861 720547943 308822243 953351084 434525545 430246394 758676995 752097534 847668164 544186145 883131587 719728558 958966511 159384748 246857339 748906443 622329317 726439420 498353530 662187680 909125836 307952137 435147749 306824912 911764986 569271986 712192329 564155253 644889446 945608609 351335704 700742228 816899198 140894460 243492218 431299651 579912812 699767765 231090462 315157415 762802338 215324167 933530824 932708255 878761166 839079962 854999616 218244010 109139852 640147951 228350155 876504791 557887446 215766306 753847852 447006228 701479042 958181189 497938832 951152839 887466183 997004436 676277576 467469221 529716753 883567682 230198675 187260734 327562448 706791457 435098401 293869182 741813688 605730800 126146614 305260038 721643347 295332885 313664720 978026328 917780417 684867598 532438553 713766140 994008451 475567820 180209659 601292256 642062829 764724202 736230859 596174610 493595883 609099128 722354113 944299524 761796308 591257825 116059493 279018222 584575729 441127097 349274908 313302370 340027794 369281968 365687876 715985949 946390356 466583282 681339045 428704246 329413368 223013777 417499395 326594789 607991151 762939851 369782254 382324776 610969387 204319808 911910566 824618298 363106908 898856544 830605614 772941692 411606777 441811679 182818360 837933345 233179042 305670213 814267266 446531043 814292124 514753959 675888739 824764808 240578600 891141692 653878759 528787411 460515215 832914168 726982186 299158202 259233772 546410267 721592244 671917958 272624429 444101700 369607590 540069668 678872142 739520957 277129790 406789961 912387116 561615679 729068105 367423065 927974179 805609931 342570534 525690281 800482352 916948396 828697799 643332631 812821259 108383979 891752873 414084896 840824484 216346084 774393629 884019676 946228582 617759454 424462107 652806797 445153752 235012729 676690094 887584773 430934515 270786685 492327870 489888508 534544224 594563236 434496437 410192047 105784103 388886991 165307533 188486077 740806565 475963625 858117353 991743029 365476380 735006790 887073621 552067028 274442487 465337841 195212490 724160723 854126529 843481703 674432374 705246928 950685001 356916129 183336328 180415714 187747951 827493710 243117886 328836684 489505304 214612087 853277769 572223993 780248225 265570268 390850625 503623717 172202723 405057506 743272546 562335520 612496987 765019534 264850249 753695623 669310844 619029635 258246285 959286855 869924972 323809380 826462073 653035457 206512390 254519923 149907314 102828335 456779034 656409398 479245672 927661456 598466193 433910228 989210093 702456713 659355902 180189923 319404584 871574405 181560921 412804146 661409211 367233580 734286536 908770033 740680215 868873217 540574766 801282224 452847153 590766655 104796717 203840592 921190093 568319457 134311081 197236859 769411761 191084710 902998548 248754273 813219966 213503040 803177779 551031115 426336612 341587605 283856189 438047987 712519531 155385755 902983716 537076794 333356373 271767303 243597912 862014023 101522740 850224401 197044390 879915507 958006027 686457664 417064970 384891288 464176865 759457864 503629835 867059932 585916398 841642942 673051638 205830929 662316927 809470828 174229783 938519874 233453152 908305959 767676695 461250834 502990490 954383514 320303607 404319229 209474858 717534142 342766574 357284401 270700913 758261066 802672379 778427417 680721323 285557719 631024187 687950864 142151409 771146665 595738948 600946502 929077164 665074752 332400281 606429360 537854429 935991199 354411107 380336849 733987884 456262492 533578812 905358610 319003885 585758029 358961265 384485207 665518936 754995839 296920448 298834844 199566381 399174476 402173852 314930115 261946087 903403411 688586755 201088951 677438875 199822020 275839264 941940338 306937093 350073969 262705882 514341559 158103387 825826472 415840797 566337880 730988968 521143057 642784926 883642063 366595363 995396294 557501032 717735920 677693797 859228273 402104218 905146191 199927516 848928784 630974349 797290865 791273043 942933519 201476077 306856339 120246601 113566884 239811136 433030511 379992954 254504438 774534439 596919662 379824570 918488655 697469964 691312913 436293717 337725901 486819159 948054117 992478569 117436221 945077252 227116918 739850584 331496409 552630786 441115536 308172887 217141867 267572691 993090194 138494165 459952035 385397439 892461948 382888766 257044449 393833821 181470203 685813399 805562680 500908985 700016611 953819282 817520912 190130807 344882461 888205342 205561686 352336118 953022141 687836360 547492043 852485214 667387252 540544716 355714706 906927365 106305900 800323098 483899289 460488427 132827339 917509758 941640833 708777773 302786181 252175848 823311238 703035808 673215332 299487370 405098209 996817989 818872236 375394452 883708760 256285380 277962283 573251719 514516776 760733187 383337918 865144642 761121192 711799164 705499300 519666871 891436551 723864969 786539916 380492082 462055735 489587049 170261890 775625506 210559824 460209263 193197265 849351199 868089735 296305187 531384922 978821990 188688795 862237814 585873852 742767328 325312302 762647187 853878068 299293993 902765517 417432251 386129647 567722525 504902340 606938687 430269300 364529075 835419429 117713358 307646763 716141839 987230079 599639538 162733873 529543487 734603078 303424382 644957947 264091243 774592549 418492786 233454250 210419061 628305757 303236184 422037738 493436006 527332110 833679010 893496721 439793862 947032508 152218234 232500967 675649347 822213181 980617617 768535033 260736740 142532426 468580754 245170182 666455992 190898465 183302941 381483084 975615791 593392323 730843924 217216108 809758743 601122644 582418277 776649281 346386938 197524997 724394123 490643841 494404402 745294266 565663060 124062861 938320988 409693742 910505993 382076898 813036637 667992118 517107524 713854122 104099116 534893968 385433354 926585754 989676467 938859730 550734600 669083822 455305544 163374299 890534485 921800401 176530257 163750140 284319826 903303873 335668302 881979526 488384893 759608398 648383958 210356278 696023167 580515630 581437147 614369641 745109010 523686309 296484996 163187768 747285267 372032244 707310019 669797205 165005393 202227144 583920149 324486753 827321459 655245821 580888060 821067246 314243556 668975588 142735435 323769957 932974853 908516731 549860885 932925681 194400877 526025453 399842971 774721263 667417242 343057199 100925449 379407964 416468643 100749251 754422336 582777716 540259334 885991279 592930001 723612149 274223269 858394533 882449296 380825772 710097519 454161258 305218338 738672552 978482904 826691160 403547165 631696332 269356651 974371476 175862968 595925129 509437624 920802000 993159412 545083371 383917564 747431946 554084877 764006829 251848875 660123486 780244064 454409330 342543296 994915743 100416480 291808675 373437744 383597537 136373883 426175681 764746919 787239747 390071563 580664525 651491931 248960363 414994296 265873268 654767261 767178778 763726301 203192862 741338618 190936977 201555598 390712672 696758608 895707394 175084032 804075306 654904755 163918215 648896805 694467413 883677204 893147348 550012729 810564795 269378056 399893129 551386240 110690064 104807248 996379198 854954049 656385853 359004367 833906256 423754851 895020513 783083689 624024364 248771618 611518886 439434181 563069021 242988495 626600930 183779508 421985242 119677320 644738210 917205080 261602800 642477361 371835455 840115691 690910821 724641889 535833089 743067428 867910326 532479923 316213224 304596479 119405585 687706258 432184389 281610780 696332041 509589363 931215887 546759090 957322050 135119411 382272603 867935649 243608099 764516245 886666920 270472912 330346701 713804178 111497710 363756030 460733090 442855444 370329387 128128933 728640322 175582152 380773350 399645823 539045168 936608199 564898745 790105711 455671747 119679844 732434348 261235825 943619777 639948228 108741946 956102559 424362262 177094886 313089240 969443945 365982576 707412485 319622647 398536304 313645125 540944604 781896736 421983998 473070876 972720168 996650150 627778482 708235243 593569135 164273361 502520731 131114893 918505986 843482825 460367502 380655747 215007282 558230318 384882531 925792187 913230760 120767634 166121699 698914307 235217501 426038291 365785495 427202376 942308862 540146474 824888655 563910124 308194208 849647018 929652567 200058946 221153545 853232255 249407491 590387134 147421819 433632803 328948858 170038601 297343396 294803861 892343686 869297162 786866304 879545602 726410567 674979846 121878581 985375006 158572606 651566539 963087532 894626632 230483154 870407058 678877489 294902485 815734700 234577835 234345967 883572052 103019620 337099475 403704749 705585295 776644320 461413877 885313748 574302276 505012639 903098068 553323658 382032686 347544960 487710091 646038964 996942417 653165881 785329852 320825650 650520098 104480289 599296432 743172710 261060148 825646804 607433923 851372609 499718554 971570855 955955185 528408376 378915213 339372216 537651062 983657136 869414902 111182536 956575873 936645481 255452551 108497160 802634935 878412806 901902369 581602021 835924038 534275058 372035678 146802410 789702814 342165917 745687765 105478092 221111776 527574691 887684165 478651264 819218736 581017824 476988846 254998547 524891890 345490104 495702988 277019626 437710011 849578315 445390316 450664078 337424520 430315272 599801323 121619821 200644922 382276784 435741689 914830464 362105449 734069413 738903545 563791615 581844048 111652254 978688494 715240724 732335398 282778041 963730763 434573912 531490059 517356445 549736208 185461834 130005363 716094125 481059392 132330948 760617941 417559403 663725488 899333366 199571394 502449971 398537319 493296185 169589660 407333290 379005626 631287608 111057531 727538250 200425310 882610285 229412597 125757464 283859912 698676315 323929992 171404603 396716102 365446525 382551409 637868531 958157606 592673162 751822401 427614804 223393563 859001910 811274740 196421489 736322966 674636811 384162616 970861204 504032403 477120914 544547801 695153435 189931139 854819001 174496476 220667863 860172184 632851266 546651061 315468438 958022216 940539519 932575873 733116670 550586551 299009256 538555658 959052931 681604570 167159667 110036278 826090805 204982495 955522964 556132040 427085204 880775270 955860409 668172217 736541016 598645579 194736692 945213740 130983606 637341770 897339258 576404260 152867465 998264939 675362041 456638632 652817186 635744576 332164797 713223908 979890077 121568991 498115630 110888042 753143299 582570370 405901722 380747419 565505075 810792190 972594488 617056775 945498992 469853748 287974733 388319613 435709031 558341909 551406131 228594377 379125159 762877017 705785383 766697882 245278347 175346644 393748806 714637422 801855058 394754914 516134205 115829994 349752985 491487133 774038984 837314671 445195071 302403850 981108706 881703964 710363475 915563115 769065228 208685291 866199994 179947272 242715625 862008118 250547778 848660917 870287501 890051285 283264956 662446506 971239010 473631401 533212074 361521914 748525782 720045840 311288208 110249748 885354284 682345308 663376700 961349293 984805748 696710504 358517844 916465090 799475772 462001211 585344164 136069005 448718027 138045857 104154928 867615991 991784047 167328437 492271833 848001769 495186710 776938348 916226959 335738930 886770860 759481697 738043792 500794196 547762223 631580853 986308884 742828161 908795570 119521133 137802686 272467615 959769859 299824390 158259280 455828505 779822486 319519296 475974870 529370810 489143369 632673079 831156579 735505829 615221997 886605201 339027537 392815702 414041385 279129625 365930872 335855942 744119882 258256635 144318070 748967379 840667677 940449608 925045367 267288699 480591806 630025011 124105109 573794910 554929848 669127489 878984845 884570195 932507861 553392816 182112430 411049083 267257127 303000593 335271312 425202935 180470801 683645936 915032497 446257646 254639281 924804356 609581045 283941536 698571272 766205539 905668608 627945601 962349214 591390115 771464986 492660950 774351679 440677417 954068627 405814057 236792705 677349854 177600894 110956733 290195217 217503190 746161285 244118746 530813465 599568674 783892299 175737786 682046348 637948413 837437653 910804710 453468812 878385199 494941809 620018501 988421474 314030073 524301752 336891924 516128707 131405561 971129174 289899384 464439465 651420560 208396576 386902614 564057060 968693594 519847024 820164374 453894997 151238065 644159660 531272216 561152393 307514538 309830476 249811858 119117470 708430890 356308180 518241198 284011390 210710811 594422973 736922909 266206626 810198977 139440405 771326616 779895131 498607898 156293575 171958027 540374498 874346706 635570197 894844543 753247568 339255144 612262593 975053021 464063352 853141944 454708626 215062140 617548277 968578421 472089573 745383338 174339794 284638937 972769200 613183913 684881394 627996069 183223817 436622171 501490047 996758780 454479600 845077471 683461190 424832040 526100416 996670163 124935837 778459992 702957849 677255288 394900826 369129573 608460502 362780998 567601514 172140148 931030516 318991713 836012085 157741235 305148720 579254443 179744682 126137869 705774242 795018275 150511864 604021159 659292690 201756169 705057121 782233707 249490884 683388823 141182222 327233976 727372140 639512100 583977919 272896068 876515624 173804066 469975737 200455167 591492870 441699132 661789993 119971222 445460666 736806267 317077533 167624008 836299831 621165647 322360643 311718715 364884521 740582229 480251035 160244617 706400309 756162296 705813007 709879503 970771254 322462846 408832602 771746367 635629494 612307243 633644085 485710312 479306957 569655134 405198023 952141416 372714420 175245073 761260511 630590625 924375522 386403521 674204193 782847350 355509935 271901404 262430214 326085880 866261419 592599298 354676134 132118314 238858633 535690354 384217220 902926946 884434924 696333297 507683745 558441384 608343949 356569582 867658041 688284352 990131522 832760769 363858157 715289918 448258377 410934991 805553548 244685071 511612645 158037785 212601285 981807197 841998263 695904472 990561013 135052383 364358361 744379018 815711888 838309350 656108143 311120949 856214894 283611647 561278966 409619246 419740821 902838951 251960720 383541151 833892240 462846309 776531888 138685675 823287567 197015555 597074125 909629452 996243427 648219160 741005476 324038888 264910342 128886936 111689536 990419283 106407187 259030754 202039202 472441299 482102933 747840766 173064817 124854497 213183975 513035461 213752421 314782309 959492826 873974358 149261404 376398387 327533448 746182436 177498569 967189405 338492162 343408625 419927302 675722551 226904879 266189402 830448480 537792365 567274489 329736210 252653921 542543578 589815525 571490457 821690374 473921627 486892961 220220251 800696679 349507470 683080623 187310927 687379168 562371853 638925607 927657601 835249872 742732681 878165437 849961615 524033586 252186874 261891069 562399448 303411049 279374237 799757904 135673579 515273302 600020740 826043077 368051178 705511091 474311308 572473344 103470757 434367026 449594582 244049945 421804882 658518135 593956257 774216555 356466123 195825682 562735204 442780119 784076436 672563791 271013469 413841366 488146310 104102353 643129254 449212674 164949980 974393634 303000126 884727513 246503170 917078318 479141730 920207071 206973428 622553811 638149199 276103833 750147349 268511838 275781759 287846645 359694555 373019161 680961180 472835966 223343627 206465467 233231005 990810932 538547205 627809412 925708142 414417407 575185390 669202186 328975220 437724499 596027619 407045885 805389508 960049570 967017477 882209553 247281218 683174379 890990685 920987621 781741080 646606792 777301439 756477470 778412937 269055343 567927903 344416372 995849707 633811274 248510304 920813257 234703815 541760835 277899650 242666622 577755861 104341485 957354712 145434291 675134533 316872858 660349283 371153044 837550019 884150485 924271486 711431630 973467066 690932833 900417318 611032435 646139489 401870493 679460645 863940257 198798225 265512502 803392262 715235354 990030245 324716967 772839917 169805456 554375320 815285626 304424513 455168701 535365320 138560838 480304801 497056090 668772682 709267247 907988779 973168599 562634341 473482854 108456604 288271212 258162181 418966750 757224688 175151492 426046176 334890445 472749859 255842944 645180716 873352855 964494024 976974003 303408746 558411042 105323934 803097205 620985541 335087312 747575039 323933608 420608673 797965780 711062263 578640601 432869109 227701773 683705038 704176732 386156764 853448595 859343792 235475511 729113360 788955689 328646198 720213437 185300025 183712942 265852074 880065110 130967399 930770829 868140326 170881963 214399434 613048376 441447160 190201257 227596314 198134126 835209807 577361801 657579936 781155696 994785796 121137280 597511127 529773445 993621207 606181766 770061448 344398648 860988272 734492873 670502244 786155571 584259934 149310874 908671537 295772058 721083609 943880201 842205668 771171666 517633430 958946114 374308186 604197598 671478776 852424394 858798769 181739046 933589127 877779790 190076305 160347371 429472380 588238391 441116535 475729326 288678775 846337218 803272715 416009426 469636893 726023104 634241685 891026745 243031358 369731142 364269141 687041540 966819158 733581156 650201801 874950401 931980343 301784650 361649736 853701649 113219858 651563200 824308452 259276746 182186347 571785649 531773094 535911173 733128112 314767779 791474899 754368468 462239153 390645630 221998582 894239081 617395196 462071993 866471690 512062633 188410780 185354589 761092625 448534833 922512333 845293667 799577188 429953876 407551933 138971755 872339746 994368588 521496987 190441671 788927327 559213222 172842862 387720173 514927020 620197436 114644239 135605507 659282429 466124671 109199980 688701946 191449538 548654715 448997632 489125321 378522039 963161068 476316936 649193493 731220879 546544374 232454104 193333819 594897552 361926333 945868027 631630666 541814904 399673552 363072785 471438168 163499549 803331257 953934268 883734198 840102249 371914382 488640058 726731660 852801489 163617653 399536228 258938648 933175629 688120678 561529312 399000824 347042141 622442208 618835643 141418448 795950844 801699876 782629286 727403129 738330024 968660188 785409664 864513193 762389390 354323669 709938339 381099172 935599692 657174532 333585846 355297737 695126324 700112774 325005552 215123203 754689005 615430699 503290614 328424159 565697840 765601586 255568124 858142307 802816294 858843892 145284987 629307676 660705697 579868433 241885368 734810407 538404045 966687442 286764851 502865186 251118244 546353367 315703636 760633019 624910159 801645323 363259003 613114163 426050113 553618850 107935607 208252474 918902820 538874598 603273302 402660460 439909758 146686221 348917211 944099711 130067805 246748244 857995922 544824517 342015199 958769716 358962939 923164072 456908145 450244602 600872335 527456831 346950942 923416887 402754207 252218200 626253027 812918626 368131140 534443817 160033379 901335339 137002292 801983196 216131290 600196819 232495426 591386418 908901625 255101121 394796317 347758326 235969156 174724388 591099256 946567593 808266642 837903834 445173378 971019738 997170604 882155402 111151160 567110291 741786407 464680703 104515675 364436968 920776145 821973585 666736778 523542377 150692287 946111707 302911216 804686847 192294706 374133011 800764353 452009313 102044271 273431573 235486535 795070139 947191599 346636315 662376612 973287826 860842429 812953759 902451249 217129766 452857583 124877662 531214472 662723691 145905804 852186729 140167289 479801860 591543231 919743223 515242997 149088909 658345629 559723353 874578754 353247877 449652743 240563361 256931348 946806973 869200746 366503521 534516718 238768727 142562336 697319664 980517772 965504868 510548880 431356975 600550393 968927825 530756526 741102028 337659886 543613252 834851923 613751037 465868832 714807190 273779097 257733264 513194995 201869709 707805423 135479010 339587380 785605808 449120356 954578413 632585821 926693030 915751133 331328580 110526786 390991752 739997604 313094191 908239609 432642346 252994869 627648777 295856633 486296832 603880759 930180939 706941892 806662827 791599777 333862504 117277046 337493566 288312384 330663348 600496296 199632425 777862837 523549336 673132911 633974581 842528045 919074942 506581180 832987200 639393787 862371631 352731996 335575582 334918788 319899327 269094539 845551108 649604451 268142784 413965973 468720130 879896667 124897215 969118786 556234512 420163252 525575231 413100477 660450149 643771882 111211741 356542210 119256952 618467718 467373117 992752239 832586188 172183236 808701668 958445091 153639311 540356011 326309979 343617764 666813560 626720943 324763202 630792354 574551281 721646421 361836932 784797991 131738525 233371230 213521141 607118430 945711546 786563151 246888781 529813010 480887683 994466589 598530659 530527645 348805288 485481459 109094386 268357969 339581752 779169558 437073032 904987275 662229396 489970931 608273178 956551294 444013147 764222468 351233434 867817353 807944787 901776933 874925161 582534675 189794991 631559851 283874270 983320790 953463603 701411858 895525953 373388437 259268865 703800254 752264747 434444785 903868078 674157211 517427739 795993928 944827210 907115205 701571969 602933793 238513866 847921737 549793840 430006044 446178039 401880984 990085848 981181695 124183293 566806204 465287559 744809975 554025093 439489487 256654487 353993876 185231086 277182075 201252545 299380432 107053443 187402710 361546635 325619357 424182607 773297356 487713335 385361271 879361292 236104655 870766576 433206897 936518792 569500834 301659556 790785791 990887460 520528366 822411647 934676434 992528087 540438564 247778038 565452899 477118217 661670333 150356888 370640685 299314448 347644461 194289024 232329184 666154301 610670318 796868063 185812735 793809499 692121614 141065862 984349977 310768111 315917048 473781036 116002419 744621509 498094805 741283978 615429162 772677592 557974177 635823415 320744973 191338130 490738147 138430489 174042131 698403229 444047608 888332228 953347743 342707542 723135516 829029101 321519219 209026169 628443970 196551240 524714768 736647644 819107827 491101941 569319473 135248817 613833471 738865100 324063317 865610681 924017835 780613766 275942218 986604181 592510888 615345177 744029331 938199950 939104204 767041682 753086448 645272049 335494667 249712734 607679061 740985918 730951783 173031126 132844809 150695651 107685652 932515547 593072289 301309870 361203680 571007142 696695030 960551087 755285727 728131440 290446164 654358874 788165156 496319601 259317302 718951899 320435712 887159632 424850229 976816888 869326736 805076745 500203009 340281839 721961895 957442799 766581248 470118035 422568837 321397481 783988071 863221823 599730389 292918738 663396082 945746738 492252658 966137506 109549070 731789836 811199064 275299410 160953296 584264393 950185659 238806199 855151302 351392350 489156679 280028194 440490853 544745629 738141201 916235537 169258762 506508219 893728754 630030511 366611527 443599039 853570925 936918788 193744506 783419781 440930602 446721086 927919204 112505679 352293503 262043108 889646458 477146906 119236337 383302086 502625535 225257589 727813187 562852219 234453939 496261583 198774943 689994782 275595330 216470978 558294882 140166816 458161172 551340638 879203282 423458237 425099245 466885649 863328720 965279019 951227510 471135724 693786588 110879060 824293559 776124985 900569986 460768904 988363625 801494671 580479922 267412123 573650144 169155298 328984462 722625209 518238271 232915193 706097672 522778099 533184174 219989571 361429522 368647055 399977310 253606118 362573289 267387152 167149864 307430968 304152987 367412491 582669714 331719228 708154938 722220370 478493199 306326674 500934798 371517646 491553787 422479189 172888649 630717120 379525617 165781459 348907863 269747587 142056571 185645190 411848462 315836063 713769123 240726052 285077343 697097493 679064100 161359690 823364792 616406992 769478870 501070471 653169447 400583078 569851519 844828309 640247326 145348206 496008164 427099913 650045179 550212906 223723152 756733431 185586367 686388405 405362989 850699238 449853409 216213975 298978394 334045833 443823163 374999146 677521393 277652220 865667872 566260229 411296271 503822271 323547560 558322525 119191413 276313540 889144491 240326380 679672632 367873923 481264988 375538260 535392936 641112121 704231033 778140361 521437015 820282569 761788896 616855713 614689974 378577130 918686101 557593285 469623733 540531352 642099437 892228331 597774080 269334889 623667222 233119883 490420287 211580133 569502580 361096832 614600022 506849564 580676406 571943759 516329648 755208512 578775204 105932404 522345625 266660696 179772500 132909619 909577905 335336933 233441981 867359624 129047506 723379859 177677883 266968032 124430521 990970094 375941647 945018633 721710514 953885188 294191570 758322951 916375814 113873547 316603403 517668791 866643602 654867238 702977992 541537696 624898328 474667777 666448837 452567397 850321326 345506104 812342008 133346447 670068376 385330870 532050650 209432709 907389283 992806197 681199594 561529444 979677062 798141764 776305648 618086707 308319644 443432148 205489709 656142905 389321720 131631854 960276806 118409296 265579253 924286894 430751086 657221841 348571320 322552237 324218583 652491051 409360034 876270790 488303816 400461235 773239045 385284173 352310849 546418754 327257689 377703883 990855068 955850838 547044746 853639551 624027316 485298558 286706710 152772686 714661297 462871787 702656523 257286299 921556364 969572642 920007916 638205698 792476338 868773231 542278421 303737489 937486539 763277988 172050763 114485036 394816890 627055877 576720197 766310958 883518530 943304328 721167156 917183943 562457066 268771827 243897228 920059394 329622572 577100409 951508762 212527468 273696297 949654988 465760735 221915329 587367130 872364845 570484583 798365251 249015329 463083396 340815441 543102950 214643086 703408333 371483993 463446026 795325758 167785423 476214422 818816706 296463474 869368328 375156405 402014983 601057985 812349560 815301910 823989499 528886308 883779817 487079435 626085783 517521176 272653355 967924132 692433745 556543781 477072876 291690963 284628971 192091663 383346020 805415232 542856261 285433070 469159784 110101138 262197420 380489099 739410103 947027583 515412074 666297487 623806567 626489528 219157785 626592390 180513440 471850339 167227374 723910633 229830602 401963592 799860389 635098484 198598428 845279408 869759968 159635052 157449680 961854391 407138802 740269407 428338193 698810622 291584349 322681669 882773540 113309178 759710910 546325640 985244540 280092715 802158828 797788530 324878253 634290171 196247003 916464622 486442100 352767092 637145668 200715994 188105107 717126893 282756576 635762818 904654887 277303377 541813892 957527166 597794174 975434790 981732117 796823100 277466502 654690794 867321097 333349665 333406832 704104737 624576021 192437962 162689335 426632353 359090305 797036102 430470438 898099679 221311607 955743803 266765142 155566115 482330840 462958528 182097190 953135211 952235696 176129101 634144595 832794075 585613788 429948945 583260116 679969646 152628396 479742607 860955104 162103408 769106922 830658467 547331058 329246980 451378760 417634209 258733603 101608492 466643201 705687729 731927803 579763587 520207347 653385343 524322213 903842916 728707943 882135110 905476585 907493062 658090705 799640981 625879087 690809265 726409926 581782983 700831673 499929467 452398625 463778769 724050417 938364295 514198018 414631064 710709701 182728884 347506081 885954800 978312280 595434144 240942427 903953660 457141295 518858417 993813016 593529016 610332556 131187626 394337895 472001274 642224545 179429662 909235925 735283701 374190076 753692770 807207550 932773307 325425307 246121009 528482109 774770397 149913965 970021927 383997825 458588949 723118942 138462734 792606127 371141309 665290255 220439484 257693040 441791495 971411477 516173230 724456601 325830684 338060903 337709230 684585703 964666035 336567349 871297838 963225860 658366406 870228715 704067672 378645134 790885781 296804867 886461133 444243263 750618202 592428259 986216013 761976831 261398174 978063062 575752253 449076337 697050758 995403503 354780512 812978040 878352406 302147897 872443230 205800647 996180647 710253966 980183888 977924042 617583744 375882127 395884270 696045464 119880162 686810254 582184785 572624849 334605382 368453662 566925352 854712460 683006509 792155572 870548778 284986148 883943963 819249568 967786782 192807346 687606087 351123107 548194640 404887778 598417037 116569742 838082258 386498221 120734681 757719965 720791932 831893126 137043635 293581142 336721013 456649914 739854189 878625902 800276498 461645164 458854858 279905731 997868703 656113165 486441755 436585554 895284957 176172044 425437242 731519418 173364345 987616399 578494098 464197249 921718036 703280113 504546496 817312029 398413335 107766007 709321496 238847063 116539967 942915022 339318916 608624594 641500165 159739719 829303493 675673004 919179023 936360959 864979747 601688284 303690650 193378429 173723266 678094865 797545222 366819501 321905774 214974787 560686862 313336220 217891907 877417955 438938484 877529917 736272772 803027272 476150553 338177414 113861330 403695836 633871972 905057780 536549670 789623128 383488459 792905768 872416614 775635052 566516383 438827364 628798714 359980904 612187813 275175299 192407815 137210970 229053186 187802509 711986387 119723769 251787969 539422715 941733363 803364272 805740169 545332668 387762667 582642611 853437963 874804149 417647512 663348889 158948460 905428112 959209669 335438039 628575832 141601545 154639034 308640135 476092849 186656299 470008846 340847422 498836759 848470541 642919754 226330718 869935490 411585901 129657151 697876460 614131135 572825267 899626480 830360336 256627219 170983945 192981818 892523844 828588203 890729766 842300834 434598718 954619598 455394294 558988758 776513589 604477235 154125151 460784777 723882005 577083236 274861505 431127135 292486103 159092381 348434604 730939424 517028939 696221945 828926920 139007646 462350136 625617213 119949628 186726833 504902185 953742262 800664284 230915524 862306814 411755281 907197552 904953496 284860028 868326681 222133020 837118106 448066816 691841685 730437338 645382332 221006302 458938281 902293275 920529662 754974457 310785007 808308377 991272230 396251466 495646472 241653028 383156653 494674024 331679823 153932822 839009854 791074273 125894743 944417982 814562914 371596880 106110515 596932759 179737556 867994730 951468609 185365250 546803697 970562789 414311143 509652044 548162580 206884769 988116168 375062871 763053568 998950944 874582833 267044623 947647443 536001424 868098023 657216125 164388849 659226339 474991886 909556802 876412193 124681376 348174871 963765898 634240750 182428084 544225878 651984012 867035140 461813856 203358049 561492673 271950726 440280731 947105373 868193624 735787849 964608116 200529130 381447621 523354294 572081930 774432806 945048838 605942127 207646558 713880277 233798285 158946623 645918609 275069526 545840041 798453420 918408388 713932713 316831276 201909955 150263970 353702916 622723401 362377278 162438347 232850427 409657065 688986021 139259295 138102796 978194191 779356364 757932301 202727965 456533559 372331910 722196380 829291039 992531258 986061886 216725961 127927309 560494088 518500153 571612781 214962414 875077095 235164611 952383743 781441362 272740108 588720476 580095768 232337866 907021275 565130069 329965018 279791574 946537568 689674255 541409705 773786004 969596158 486792122 857632044 588032272 228027331 264745084 175151616 826399294 322608355 191580635 956416008 860998378 535367129 655092366 748417982 782075903 951796288 798518741 923153684 440117101 298211182 103840539 803317321 633155177 262880235 976586192 463799570 912701405 741518909 195645146 726668010 879366047 837773606 716780857 287034496 802037116 404582489 778195676 731601910 463414543 170922826 165582334 579145433 599521696 767764025 582521295 714577644 799052686 852198416 410473909 591983177 491585802 855655764 637383618 893911003 110479438 558828163 869016134 793312171 760735874 562510651 256871850 506512836 120782629 431624093 520122268 405356573 908344124 172764201 238315278 460411264 749603519 920957861 204115238 914804876 582597919 755545210 454788095 376776996 816922862 185523472 892387216 205912110 794669183 207243454 763675004 474792658 297181680 693962601 408573855 101219358 132604553 173493100 361891678 186964822 237025511 715069919 657496135 586189388 802538494 448145744 634963950 666705645 229742790 739219818 108203478 616749517 316346632 788601495 276834257 198767668 482040287 226670435 508981846 760428102 506117485 891247017 300102620 290183046 843440397 657206637 710075614 468496349 652462234 971374205 525393351 946809144 996768261 734570203 480349981 173294358 805838163 829257015 621804322 527925123 115160169 468831718 283306256 586243891 187778492 217920799 339159476 678976203 907899243 312438441 761214249 921625766 641043254 657551676 329311878 987515469 428113740 852036600 680009030 926852128 706367728 950584692 756651526 173053721 802771590 627917381 154523622 719552209 979797043 341370127 604959099 517307959 551826102 354623070 161859404 959175090 333874773 682366907 932389014 897242974 255267557 248910968 655055375 762612913 869562196 785464166 947264833 285600226 610220993 606137088 194574094 379204448 715305792 446170232 168769402 348114096 274506386 994503804 441486236 257507798 602577867 523299207 865093689 781030140 113411591 133170555 628347014 447873888 977868528 725041419 439252209 113010423 197768006 351888316 223451036 290253632 600012820 816844351 859445769 857258486 470583069 365483520 703533633 706411650 454957858 485943480 980064027 473205372 401781065 986642419 659944379 700335643 401031753 496421581 213499768 740732900 837182491 325413405 968209099 233309549 373886826 425067784 827117656 414340173 805941074 369818818 287315924 537006344 900832899 555784288 803684759 643606836 388118127 774903976 648588044 692430967 285707771 452227171 253954037 374554853 623058122 543401849 399652999 775154938 439414146 127516593 313451674 881553408 319435105 325491529 690158709 745271262 815790186 860926522 175550070 328921194 381006087 681968794 593417816 391973357 393495122 886569664 818544681 342549595 746979347 664474017 218378573 741088332 658040630 602185892 477836450 917077975 655120502 323391306 640007266 153088263 194103731 455801615 258699002 413564885 432362719 264267714 902630818 836333470 371300495 389434979 457676978 538961026 812557873 333697369 556343822 217076744 501825297 838856124 402898260 918380050 465178481 417635422 607572613 317537367 960401164 391585699 319275090 713722291 580251015 667688856 643273852 948073874 632979198 850810207 323916181 226058234 793501933 279237463 458607955 182993869 638135675 507602663 322755990 130975716 726699785 307184700 112308451 830535327 443834937 241308569 323052231 420119617 359837944 323465116 323019788 302635835 985433970 600984324 916467322 589919380 811953389 784954262 672833365 333306186 373138668 890580943 666080418 103238893 483801739 883810144 650997374 417753049 538602164 791654100 184098716 358353099 525887720 415996224 525065166 835384156 235296188 829793673 846057770 136485526 814219299 420832924 248219369 313071233 633650580 788861321 102711699 626955239 887990115 515083493 263149443 697508203 993549192 859071014 345451263 503744054 680638350 874448640 658659239 300028807 409057183 627485348 386567347 462426384 950259912 868023661 285457718 878891024 555961983 329735517 577003476 193650247 764308738 799418186 925515371 305338099 740134264 263651031 999152890 362199533 151927864 900425997 608918010 573338774 879247446 714629027 260697612 318978878 832069791 549551348 272428938 988148055 341419621 759026056 684782556 741694162 386082134 924371413 908369358 148601503 870239943 471995860 720620700 337373570 288254602 238108575 581405356 728437547 581338442 459281759 188473343 139786890 993470563 505247890 441648455 969981382 899863333 113397883 134953081 559146322 470822952 748788941 645352255 237802361 443162273 832968368 841642052 111154812 816186354 100003699 726515224 242547103 343013388 387672866 442636997 260232052 785265127 167234943 786227023 378253709 497108179 249471255 629769905 979025883 811076533 695812096 892069963 282246287 411181325 102224886 429609621 900038038 690549047 137860458 119533403 457739183 422215749 419310410 541031212 406927019 399799073 491509492 136238737 114514334 356008766 686374725 520113486 678269495 603029432 115932489 433723738 604510011 458319997 449631997 616698467 623600416 254569751 654459427 732963634 322333593 289095920 944342809 807587030 653140344 922957676 218736894 761998313 437687414 383813693 949051647 559975536 659856580 415192755 616908246 214089861 469865298 452333008 475455696 535749066 783085161 748336052 609953964 126343556 534877299 660286509 926483364 505170504 807601033 435429063 123257199 249356031 658028578 772637212 327827019 852087215 557370104 674536846 821827677 652760887 454824600 556484085 116883712 560771547 171043737 828246196 892738350 516977704 572024981 464485771 112300460 763895630 866533150 462642314 406687229 209061483 597100292 239143921 157793882 578431810 110961570 413590748 474642671 968154544 795240734 845221576 526156116 974853313 364350887 642845648 688683024 194796512 345893801 791172648 998028709 555451514 981243006 598342457 114850765 992136684 668946989 339115361 380920810 123774889 127444171 743484517 237536608 129066059 603947120 877322944 482604479 650798036 810741732 868579128 603918843 561291694 994067416 339693762 615155077 664393972 739388533 427244997 812209325 734205934 596194998 186507922 935383016 861061373 423881978 763928724 689000535 462108953 985228952 634385823 865573389 228640608 439762574 983615788 351426475 968478560 770231000 808346344 710194746 508672954 897781977 195271488 835198920 719551816 556814484 828118475 528173775 569006865 292867418 569627627 381011181 299658776 937314388 642181403 631918271 842415224 448341054 292605555 721733272 262251780 288113691 962208684 210678871 794050447 346825014 774241651 938254324 814831226 876149038 781112969 848273995 318490977 320298360 172651002 584010632 436310762 613414808 846549028 126910039 569861742 240238121 904684266 839011393 426863898 970618516 353567459 840579712 985225895 106299850 971370043 109512442 221136163 913353683 361549559 112669174 698296171 517530701 150715124 152191460 303125648 847074099 148494110 411920092 568184316 193127031 705314920 911711049 217417269 488115508 389502236 460795147 330274888 984090175 377371437 108038143 423525855 833961597 718606548 515599749 828345132 461443325 651644922 391999212 382507189 690878504 979818502 947332703 760030357 934384813 958542474 520010524 739015772 142783384 976185673 307956035 992978144 700608505 401566674 207495502 487441179 184923903 775814472 740571398 209879561 116779078 552467089 707155887 874886978 587573004 158791229 108155252 243927719 865770203 487947463 259409197 598026263 110993018 461723623 827158832 988980581 896963962 277046110 945457893 724565594 606327814 506867224 365222181 714480063 313242558 395896309 950500139 660019372 321343979 539985195 818257339 684430437 368472655 233240943 280312670 387727278 415267315 785338816 505714354 130889898 859959916 813186892 322414971 123718519 522880431 630212555 244607006 659745969 341358420 202369835 202411020 187290602 497451915 907037643 599171387 761791971 689369945 884056396 284123105 715387634 206035106 477929616 178101655 977449857 547285217 390315233 876135586 674949963 849113570 877161208 661442786 873740100 828347640 233141962 805984079 691381657 926789743 232686716 683707949 926833539 984348154 307196426 537671458 274095203 970833737 914873486 264649755 960299867 994958633 888558643 755241744 423054526 967166407 168491044 449499163 341250497 629209605 357172367 496058333 390718482 146584840 395086429 869129054 742272621 950920369 642845782 778194140 925989915 249276619 627424370 842753036 835684561 839713692 740851853 295243654 443505807 803368958 772792234 266988713 431829154 394017553 132531586 645096145 151907190 985507320 218467313 600322383 568800193 666530576 646949390 530778509 697566235 731528177 208298827 975591287 731370600 118657020 386937486 533179734 796900007 252068363 781324544 781196525 645021799 197291722 978885387 883350631 699520528 589886613 860140476 216310286 778751145 424191523 942823850 939151476 236699695 499475161 625587361 766460188 187564529 635018003 823885177 376986367 868582847 169734783 370155667 714891842 316131540 586350240 934959662 514188555 806960210 867769347 955127522 376847652 425909094 814948146 446857467 120844470 314487412 208317190 195910297 940198566 502367837 557006170 811795555 723101978 166027159 571221087 105308176 662580560 231037944 357887278 100432947 189646463 278961186 716145228 556693592 579279939 712626846 917039692 262666593 695702568 737957355 794354092 713225036 238646977 249595882 853342867 247411286 784118593 938516827 100759118 692384029 967098166 139346355 431522308 755476613 494574353 753120570 179611381 894878780 733047254 379127882 104244809 626837445 592967472 734172910 246228309 918384754 406111028 793868750 527800301 186611118 547581565 521451812 417353968 252273779 219290327 149346960 696996029 911978718 806921812 991714544 981663054 210932239 569154514 238639500 602990914 258358648 306050159 619137599 651111889 639426602 369993457 584319455 148527306 710379136 370290478 872307130 485710459 682965413 603422985 403274608 644689856 327600229 227321793 531941169 619420965 286191453 859403951 355205403 166643786 566256839 405238414 649633145 935897849 687363589 420853033 621182373 135420113 634208311 859093389 401940898 477905420 304983818 894462142 901545291 451670442 732492615 639380940 114377647 247813040 560695131 755506421 629546442 724099939 941451783 730581287 608049737 913782365 317409630 457529115 710455894 858057687 253574341 449560994 454433384 318071983 320673590 220149201 924238992 604110052 741012352 626792622 568105269 194519452 958715293 586169151 689635540 759607251 450534999 746147134 291098927 966811897 155726268 146103186 687561296 457304384 270006995 351241392 791435502 676313036 747859073 277865735 227344197 485045584 275930739 869989098 241046148 107960182 805804855 216462588 933180855 727755311 335233697 258403431 809629691 997146087 513343721 553752417 322159959 533660812 869161059 414042336 879198272 401625088 614800815 683381291 282835956 149170855 822286303 233556116 807690525 919601177 254052749 858617285 480655143 360533546 392648128 303742777 677803842 152464192 559903010 434561435 161888240 258159855 265046307 164560720 973420300 826405535 269017270 626130108 771778939 221600914 472736757 307138127 370454317 813087422 572646295 856882464 967980004 821983067 225152455 696912634 129263746 699507660 896169792 155035444 109552193 230604414 277988428 208747260 223247494 125246390 367520044 708315634 285354497 515470794 388913384 127402725 211505477 188290087 995718192 644504694 526567187 855363311 134321023 660498801 113867641 775325415 790634615 551982758 587755930 997982513 735012029 765472113 536203117 129565507 336576153 318671828 681685420 423105272 450450274 573539866 464380459 780756827 917761365 900374322 445977124 646117681 778915088 518734126 865529229 400074621 411185151 194431660 344894737 772981849 329051527 959178522 128791081 170507636 815796191 969233481 381652294 865960880 594336951 230536869 510100380 610701933 968590517 404744775 291200913 917641190 761031411 543674600 642453542 418550135 458728836 706448840 220287947 722745262 938922481 504291615 480911586 717019515 540059658 483030219 623280280 813930051 590421682 845333553 821587393 405978613 148472493 808276134 148348437 637911998 682524621 890705506 877734225 422475114 225765256 948736056 101892199 704697008 523251814 475820386 427372878 159721614 345182151 471437521 910971808 530070829 924225921 940573615 130123750 257047248 741786079 902495466 895086651 880211840 536109515 328618217 830956673 328036935 619182816 212319455 875452038 236481318 630156914 125031709 203535172 744210726 461051486 479893433 717668425 186653062 159253060 338176399 607330887 751557861 552648139 477130624 121284467 609806579 210861825 863658317 489618692 978974968 713572547 646844515 853806011 382479101 313740365 529728652 593718553 120041396 167167961 966803093 756192271 572574426 250455692 559545497 796375749 803222523 519227055 136232309 456350917 734529278 889011393 723482890 382241914 452136905 282065941 703280097 319530069 637554614 582290293 233705463 455795386 397475068 548936119 149816230 978498277 755002309 879043693 396979167 326293793 607326243 219535207 616333411 752207618 391719125 249334838 548997532 497352059 693670678 690072319 464896391 343026721 297963248 476885979 362633292 678187328 819055002 421945229 959019498 917408687 589062686 523159174 927604541 140857689 202018320 113499298 635366423 843879532 338219602 948649332 633223346 609414754 645591294 522129925 417227063 915997981 609034597 752926116 369646977 795913151 917748809 687831695 689010936 488052142 616211059 518553789 331449779 712933103 924295069 716579852 184743812 479061929 337698937 300123261 607537033 629489141 616779428 341141824 305168426 288399802 469270101 181652994 191473847 442065765 801756712 331500480 644031982 842444507 260276790 968030348 301454702 157178018 879351341 977225041 798803735 590543758 621890098 818480341 887979018 446052771 806100505 335993281 586184404 759885056 129570496 247920629 368258178 895668396 752952387 474917640 734474741 440255332 480090003 337894122 880866945 975517108 630386348 996922668 875720522 752579424 527468398 804638008 778608621 814802785 386955087 922264067 948305208 572944320 660520771 500915051 907562614 620384528 845860150 328605240 298682182 808162186 498850860 941229472 227790909 115529549 631426231 304670914 742518630 281159876 562333464 434707247 249938720 389674411 433209122 340719800 413478421 647384064 372091607 659587712 809323541 573062105 477832259 396062520 158059331 658524495 219128085 648203379 212345641 531558781 539386700 734991628 208918941 421731056 685161016 126487708 555679843 441161384 394389822 445559646 995786153 485176908 534823550 860210242 892939003 203052156 837820559 958139785 980893008 652400088 146822504 628671994 713546561 655624525 875188786 257471164 999856958 409878403 973225095 722673319 235440276 930296656 136571860 207977214 171418979 540001709 233349798 129427679 424526616 197920675 270270128 649305591 730745701 741403524 887616046 542498775 164883206 646468049 298767882 765478113 854085771 794036031 479876637 379781489 362161534 962966248 577974080 877986945 112167179 393982268 615441921 742177358 131406557 565571444 681265948 137286702 486565449 859811196 226422037 231463899 523971471 522276240 923320484 899018548 256294310 261780669 966449898 374524513 935959788 628825212 891699084 250354081 608020668 889921799 385164029 408448355 267022395 218868300 650493808 156371439 584942716 666810051 626192842 761545748 834280243 490038458 970337647 525822950 900801292 215098646 232990973 364407809 464833874 488115941 910394807 820795683 782722457 359962564 283061959 356978336 163144440 656926659 703180042 831101753 130812340 326318278 973000847 329219927 399577895 477054325 237033793 992855259 813411583 987239290 604583499 905588598 847473842 891928502 961356507 606530803 132317647 348945508 717697881 212844808 860619659 969404880 510055632 694846504 876111479 270018072 953993649 258370060 901968202 398502972 393122809 607395586 685481942 619101308 619553849 428447630 761599825 735490639 583293059 484351894 116532048 334240672 486750057 262615415 257613166 229947743 871986430 242735793 540232815 646753671 229375057 822844062 177404907 704897335 678522597 296185372 546587809 475699275 826353231 630469931 298711367 512917920 960165422 952215328 245598749 506995644 487689529 472759603 654484232 669811587 918433799 151366888 249796405 978521355 497722967 700238735 667077710 434149214 667088438 677581910 286712182 240859638 555656752 908542514 721102045 925493935 249687289 604553912 649217333 241863279 694113951 957497196 353324416 944841277 781214834 993870451 317500559 935067454 478144465 608346550 510920535 637105292 344694141 814283406 703483029 473348428 127126769 290015124 584951849 685023990 769005304 185523110 733311578 656809937 452229547 518592177 718365694 172833493 984925962 673031589 926937810 618227849 530111583 234331783 238686828 642888173 441525712 896697077 625159313 602215008 530593028 281401148 843613016 307437650 331504398 260882472 994126753 934356299 725612008 425150170 345669656 536881205 307057677 715525824 398413892 591708673 274557942 531575665 837984661 557295330 157567358 567051304 574977087 371142615 626026208 719632527 418261054 594002476 636359381 263662134 781625516 900469867 162474117 583623482 569162704 152512520 565564388 624629401 273662076 125686848 252260136 294740341 397588417 274430719 777052730 849970853 353223030 717853586 143189415 200321793 932629191 123088035 725213946 418638073 597403749 714885933 847165625 916327026 429296659 495976038 642050516 658147683 711500510 481515337 565752401 191588735 427418345 725244618 916620162 183969672 895281104 442551329 235714411 935603870 466999878 693900613 754725602 111002898 567134267 583869468 501469278 652703215 492440057 500016531 113007187 211167902 647484846 698069655 683338269 628238058 910899105 730990682 625453323 672806007 683222287 108708098 373663107 974645979 423488267 994162972 709673015 245997466 359806554 479894712 509241191 172019884 411402745 894920871 319947025 271383571 645613885 295935192 159512345 977138920 358059463 460883099 595664788 441770519 733460575 680302423 624216348 836688427 785332531 774192130 965030538 121497081 485417659 999258850 698183825 828903755 369223034 965246337 569422823 954713901 129221775 997104941 855560146 790444643 282410867 979870352 252034779 696518766 212799339 985966362 894933976 784133768 136613484 170876755 221079691 913022314 803093315 989501259 616344542 268772172 748481899 943548349 235440836 444198365 705308173 697110994 100232615 678893597 658976379 575992929 315739235 332433034 237365895 926312210 508156489 758294106 379751967 387546671 858545142 536660734 431104796 869158690 473936390 272475878 520224572 462826926 405077779 405863385 400218284 717959458 272252193 834800828 301554917 163101669 152311487 510210233 365526845 197744972 315549871 839096840 491261789 142868266 461984904 932231422 861999604 794359372 429860257 571118944 848678550 640284726 539562360 903061358 472275981 720756171 740072933 613661519 389927730 557122799 619438500 431333585 495035853 738570781 951899321 133804435 784560369 229504646 305672937 404836292 622305515 705133100 770639696 201613083 189503047 845658890 701147498 763430271 842112412 957090484 585442184 533879958 246032902 568664223 209179200 778825158 143131491 305254943 827170335 185042231 479926288 787366150 493586633 663954125 903432386 576836876 917908914 492080868 780091978 457796369 482976617 608905178 657723428 350685460 242301330 970245263 367882132 813280516 267032612 538286043 732135784 226802813 732259246 145630234 262372658 344256310 123731739 477963589 704289706 826805355 105830455 928736776 910224428 322246914 168863864 245414725 754502362 651151945 835564390 185795827 979757510 186343255 732797838 714544048 891790160 507664883 332959466 181817683 371871189 428711484 365662723 499750812 278163005 809190416 454068770 306779842 795069354 400124124 920656224 132187570 511080282 770482092 919237894 687532773 224095396 131053421 980915433 234632745 257541284 595962972 206009691 479182761 836809819 359423718 621979494 207078064 944525383 730989905 127817989 665075238 256047206 611669559 941153413 786015503 898528418 663746906 710586582 412740332 587909797 232924277 804937672 850410673 723685552 504592726 893230212 683902055 646326473 773073518 318168691 788554973 940097784 540836171 523607396 390857848 884903893 599218192 884164772 408622460 986823556 880988931 204316185 467483038 844028593 916988142 129620836 825696318 318939889 865944634 235623267 983598464 618843867 380768051 157743047 450109796 730675698 290549035 731771820 802399242 895873036 656448076 625176318 192812158 657982709 736272234 901351582 618124349 733744085 237240981 192111035 163534826 269860266 234110013 523408376 323365325 598602117 307577058 165292187 247744411 508489904 250161654 810702786 725663094 463269524 654416067 324726588 538860551 604417093 352224778 555740551 599322233 192529249 567529017 949826899 813903944 445387499 521981123 537941955 762577032 864955800 329346477 506948772 141673451 733793889 581860866 538194402 208246328 560980262 813640167 864359507 901446458 271350388 611773170 830624804 386651848 512802579 512761797 838281216 618633030 610711911 582373696 451483150 635886767 791713832 965787504 178086943 150333623 337613719 725156100 120311373 236553874 358754715 741040904 127288159 689723712 554647737 416382532 701123113 747699738 468322895 113423370 653122343 775197186 598330819 998172015 834820789 929681108 914501239 998332714 443073669 534753254 205293862 391030729 573170327 342143644 873288089 684455607 681660370 303820853 133634534 588037952 216689229 306593136 123944355 913641344 953171870 850003431 465355335 849869637 916437326 636011709 840666678 266066121 639398462 985577464 227551070 947291627 555163185 739605493 108663635 150003608 901573771 482477140 942265246 589044671 257226353 510617844 512773203 660735522 283653002 481589218 537852008 506522748 943074294 840218791 190082583 889921216 471613154 792761504 396784132 752848825 485360791 487292859 509238385 458977208 798126641 127049317 980075674 963079510 796822877 337718416 373811316 849289392 946377126 626958250 283035780 247747352 721230801 763357104 808950038 125550095 100473105 729972293 878744613 807703755 622549036 852429453 218828244 253104903 221374374 959043729 116356075 736091856 170886764 287092038 647198802 555856442 327230362 465340488 733406594 882359723 798144629 953588837 365312497 837741722 930302530 310547989 669458646 839470116 966703324 269155185 232567907 506687131 786539337 664242444 184473077 248943757 645616696 133178702 873698629 763404377 695881408 572411707 543359401 727576328 743413865 538825015 180956549 803359887 117296755 442948145 590068262 568535819 107674396 417630123 898349033 718296827 451173440 513850754 483168454 438677225 334190920 606770302 175277777 221204949 822301376 192877703 801079006 322204531 248443878 786076786 453071474 889226599 912308651 525623155 473296802 315993832 185446913 434792855 901507383 156989856 650877944 232987999 255728793 697381616 367995755 515560494 905091113 117617112 425975862 908390569 864460561 859727822 633593946 841437825 758428760 445249088 182631518 436598917 130484080 835221901 976328971 238771962 861521822 678212868 598192738 116788112 628875075 371247808 119003315 855315372 108222464 506411078 355924154 774168040 310916371 846537147 507129105 469703907 798735951 479274922 298164013 177332501 216197185 466971686 369783352 970236069 544771507 802627710 112779046 648706979 869268406 537590060 440611352 237183555 421867461 815610623 388812442 301923360 325341188 645976531 656434004 963433151 455965004 554045467 720155766 493992503 358872153 960342870 394826866 577903478 596556595 438914080 440911389 588729028 676566618 750117841 594260094 400976681 508472935 134556245 905724165 596513337 734226619 954264564 808129074 873636446 605418385 581317727 862272750 201638608 347560690 289915183 552267133 313657528 976746848 619808556 911922486 699167464 455425590 471909557 962689044 575517259 997836177 530253589 112088493 111934973 983830733 810269834 897821598 362269402 724033755 201474194 477306648 875541446 398868028 994924516 517417508 440006729 210372670 150893623 383004860 369614767 254036060 710331448 727662919 873837010 710544429 841835959 270614404 933307530 865011398 817553361 585272563 655303891 446928484 500483408 909841844 302121854 703340926 291103026 119958650 361455904 865296892 117111917 347886257 185475678 929764384 387547611 542177762 271780064 978769674 379768016 517822493 662060322 691591754 784386735 168754267 130077091 776179384 605657111 823591537 999538536 597855770 427466888 122615856 195292489 532470743 813989956 485309177 477157377 504728734 209091192 220565307 524942856 831971664 826246957 388001364 481969422 813810323 873777266 586618257 350421347 128066999 548820166 306586287 556965586 900595119 160381819 702675889 429086922 228500605 963850010 430474771 525891976 186573080 679312868 593283643 115898106 508558500 590260409 642012938 157928475 463309333 600230821 230145835 367780570 746364007 229907971 361247594 611129755 382128034 293650473 399599627 824924543 620421646 559002393 509282078 394089055 426886921 742100523 832713280 717601851 474631289 481138802 647370637 388733422 586499119 921846003 969973111 350430968 898641709 848596112 209793710 996373619 714386803 459884249 364441314 550995558 808894346 463857288 507166270 779555029 282694148 606577369 739807482 446756292 684927783 757991098 970826867 311687467 495980279 556405780 766282940 921959892 579998179 378485838 109145733 112282844 269009934 197484649 336634844 856468668 284923972 383346174 969816143 886335827 758964104 494985553 168024478 180262359 277074669 567232485 320177737 282584273 357702834 328397023 381733247 132116308 619471830 732432575 874005532 852753102 195997504 826692177 332605543 610032803 774441139 960336619 210750476 212900105 785002090 429877990 211243408 842174093 488574988 311275905 190895738 379251372 669201156 416588459 660424626 974504072 794238843 681187211 292934365 796843295 239499499 323640653 206836195 267410968 750576887 355173763 596866406 635869726 464589472 385848452 603375256 973834404 493920249 582772320 210727426 506015672 663593621 874018941 954071084 829995555 791703724 850630565 420755713 584111655 417708966 462979051 780448686 469946290 738672829 494647416 374674158 159646898 197298744 592986567 760677096 419562595 617781998 216666665 574620336 528499133 737369734 179556893 102645683 234512462 683593517 181857813 561382221 469820703 240025927 143346755 124584341 810902775 934669836 837958144 642556686 165676091 729227300 450759446 986186031 684887489 271372766 798384025 312295556 530146174 706330505 974862552 725850774 784122412 649033599 491504205 734527742 889120734 800807490 141272358 889094250 910263161 467719381 848029453 361238584 754475966 858571708 945488043 573793733 583272871 220957871 859877887 157568015 637123087 699404501 508053359 885334483 114413775 653731757 838933226 109060445 988512151 667537722 742140514 390764569 418886632 586152178 224180868 407398533 937486228 864999514 264876519 652057200 781688048 724915851 480853823 945152875 881479769 345803300 524906388 138757010 150142533 478810837 173356387 540594419 528416075 168130526 494190965 436030844 756010666 843391467 668362673 478488900 585815108 953316190 612701221 793100869 393489307 281080794 816108795 882682061 173452397 361929569 713782792 725846968 708655185 476991281 780370388 940321897 982346897 728249337 369927020 867126112 298804571 499476626 573907632 105171510 355647681 351236190 982138483 204718142 991934232 436366221 755175583 558870873 360684045 946339482 393801000 630858097 463728990 977259912 240471605 616037388 434039006 742677643 317651048 269585987 566939750 790569625 605403048 498659976 165779442 411422025 604233620 669764602 860453441 117071058 523656322 696599057 299920069 879977643 352570602 699450598 907035653 165926463 818629415 436138964 942267589 699194365 378641422 867031472 115402632 319394658 447093140 597243179 874754435 620247498 399245697 363671414 788669333 293085595 123815392 734532667 211400766 184753361 826466919 125513220 844038524 754135219 504412357 537731913 652251793 841697966 616633801 895286423 848623840 169581620 750808451 594434799 925429239 556106752 399321515 972851097 562593234 474741929 501629099 718232536 152920197 236929068 220097081 139209790 340528255 644939898 440930777 570752050 281494470 511037233 481141784 743146505 508352759 713941589 895335010 813150425 416895454 141443345 689915366 288449864 537355925 481406328 682762739 384725064 327965005 566179671 304756515 680134781 692329470 165386156 881994382 516942407 259395719 376480861 258412872 705126912 389715817 598887419 266509724 446840424 337246872 655004647 588629294 412258443 391956277 885340826 657406220 113748802 440320706 953793140 475571779 120620929 704214531 846219034 452700788 159444037 827016883 259653288 741171311 913634992 317506895 574777698 247778415 727972105 783351410 909460154 755188363 253542017 119003593 558995683 702459434 214626460 431458220 297624598 377192559 777185873 330631466 403669091 304482673 563921709 640521178 268651697 730610010 869152121 564966739 418941778 223281317 432246760 234941422 632149177 692035708 962419440 519968189 711030579 258704686 751945660 255583385 335574223 838237967 517522799 217884648 210662517 689231459 805798329 206932516 554164997 655707640 462758029 898574585 147485624 672321566 689836279 989877372 247285408 597064796 712346062 974195712 585390900 993620428 789766219 290356768 208110417 706606777 336655338 989905621 763061731 747975712 230607650 853198811 340278512 837660365 744262487 766608868 896152538 912182154 443046869 965227749 321067465 199202433 840055874 806446228 616102732 268676120 639208317 517299195 980557627 517127122 367066948 371464769 381740223 398730713 932338748 414606632 894023882 201880638 548229690 637919309 316216678 375612128 337142115 690225852 382871135 645171026 463349170 470769812 189981246 608013452 498279537 344465989 431238078 666046247 791697087 685202292 862378043 853113005 534126785 793466545 422080365 531747563 746230959 181092280 336645147 933173241 501685064 921835094 133374305 217124071 774567097 908053601 766944547 406802942 846585073 839397991 633686440 387681663 270734531 103454359 385342663 413019000 925096965 156684814 685751979 954871822 633404085 869772546 191201061 913196610 832616200 516671152 776296071 255054202 970805264 526118635 136449112 502824595 684029025 641701516 150150561 258842497 102020237 638281050 566718640 166447179 237411410 204489878 853326649 135103112 298205733 884020878 940400235 819924084 664302143 511767505 145620262 271787215 133168903 758930615 158159527 903119580 843155675 153067559 182028466 378814411 925020242 830835653 497952831 313649300 755631301 156619737 469673834 366901525 345496369 557337601 107241431 790339736 219684886 407222092 944127833 233591057 169812913 659030630 845309865 416371119 368589746 185816444 476691355 685296984 344089196 886529446 405255777 227674313 676525299 667881407 688121227 634409664 955548562 850201082 336275776 688165848 199426875 923647265 359825698 234358822 324421738 583888854 725206542 903396673 130032917 606892212 864692566 716103428 805090140 450757639 161576760 740279679 220875255 503995927 842520971 693962948 619226640 573584068 652162713 716561350 840920580 386240136 824645210 931423210 586006830 656166817 846587766 477104466 931630436 507517482 247569821 759213773 563340311 149731345 506531492 451813302 447829800 287307012 892623873 163886151 836701136 998207827 692531774 757490583 698142887 558129575 672580299 249128273 499874787 368961407 164890936 989333103 980280083 592561007 862613278 391696829 111927694 443786585 326604015 319310793 721405732 273812486 114436773 929736618 383425205 906369205 837239787 660332920 167662987 941533981 916549372 422090690 687670966 603727514 230475475 319780955 775402817 760449958 603174850 498517769 941685448 408773946 512264646 338664594 931793232 293283153 849132846 212732653 227605100 609756940 113748575 539408589 659356658 999109952 385227158 779349461 260438069 740805044 801835241 114105236 877909659 876586658 381002571 695008860 973207399 783262253 496886187 898317003 425593803 973639117 818111428 707858888 249056648 112878223 620494217 316154258 271162020 670611832 491558015 644012433 347432488 532258333 870042739 724004095 971437666 554916267 173374616 770752854 894108827 892630927 847802277 336058510 167328893 485832548 254862867 329116423 102270412 229687476 949274952 627396661 462699010 215354156 108644735 600175557 217881660 826892178 924269996 680016313 177896030 561074831 668581642 519377386 139781621 157183845 765388581 776332552 211782665 506922259 381338394 383380740 290155528 400741739 247127280 648178254 247829555 583946769 379690156 374558855 484875162 806460342 531486412 723907327 195528524 815709509 398597329 411911904 736287395 344583430 915199098 289744424 293770916 355386825 231486445 124385115 588951848 610931030 260179178 280019467 904156666 670219979 668851701 313074051 680440083 274782381 306542170 330327926 718799943 104411447 411377263 818594080 179781585 107819034 404514773 780292519 316955285 656404749 226437915 263248068 938551913 672395136 830029526 198372224 124500076 979006632 678007267 474532215 692295438 502177658 135401053 948345022 670462529 315968814 247455836 374184892 462725587 312767954 964723600 454784698 366990324 522547222 320535163 334734618 885873517 823817756 865505360 534408752 746806461 345206332 214592609 690961739 232630374 280550626 787497026 154170530 687778313 914787427 716352369 706572175 229100920 255153796 959796862 751573808 901285795 266946009 264672407 709764445 971231195 898043894 298230058 822928462 630116347 814607697 483269933 158730201 915837565 544241003 753334968 535327813 133542476 525982234 446041636 581890986 387023331 342343655 253287018 287049431 547904283 972742355 194120713 342742930 688740392 207587404 742853191 750672233 388985256 621965925 552794181 931273792 143930685 382879755 223007542 622286117 482746525 250165801 209486029 655185720 141422123 407814204 876476296 505882726 913072241 627670738 942592941 384938733 857476943 130986315 242755558 556752446 979271680 396770886 477071985 409725483 935345872 701713893 628651317 522360058 710304049 842567701 983210448 714776771 986073770 156336159 447998725 289209846 727446869 697749811 230631389 966102098 906274853 954166896 991136552 795650097 144458578 276593271 182189448 361535075 542551946 517435054 794055327 472630836 609954031 251900243 242366018 274853898 101731226 755855618 781805780 604794575 831918997 828210492 270208272 269367146 978195217 986771185 677374857 699947807 736100226 233907220 425999851 644820823 557583459 762950500 493444029 727572230 269559184 926018591 274804990 560788770 453617409 690500772 742561699 696471325 147966075 736770698 842584097 951555192 843276873 976764830 384069642 128857418 726002477 186660448 132331414 182962314 521506176 950925544 863041868 885749831 139050062 932540078 369388866 103838581 870602614 945713777 596384165 625426526 676650114 446443420 497227379 342130985 784037923 613587446 156768922 114975182 150837827 967046843 910236354 279373802 109442674 896700442 687322305 501445384 414553529 136727183 782186528 527960292 187644880 607074116 563057791 318079685 233568529 851837179 486047061 963123683 826791674 405977162 216227164 751108414 961968094 130719329 516626389 965914320 584648952 810676337 253803579 180990884 905755846 726684663 367526340 946787809 378525384 121448835 876048873 733625890 162828038 128628431 515343294 121305817 985822815 968302440 684799681 304693009 578759183 894238871 422217299 309897470 329002408 602813325 107578374 186357478 814290575 550207480 602451484 637766777 934800764 788561881 960933201 167342259 914961662 103948089 904869160 729070358 106385682 353782396 594715527 530539895 960522825 605262295 987320698 402705609 423843391 374455686 746135555 765609874 730391151 494095474 792745062 284934226 314917747 675620483 858291939 422368333 842728985 307577562 149650402 275928601 859719468 413973036 120188587 418952288 736833939 353666701 641808849 318416790 397260307 650442675 699457248 203256680 276424051 372971047 928476429 150503151 369389694 140279039 790673248 818678412 197818377 617167534 606430196 843168303 772266937 708528686 997079431 372538723 580336542 244913644 907566360 986628226 850398126 626846827 789031029 495780111 945674460 765726721 345870240 629232136 374898115 204511526 477665958 399387326 769438171 401173687 642326544 565652894 349824917 619579447 296604419 387367651 339655188 628502801 222974482 110524011 884361898 270997495 762811075 906271707 873918037 409709883 187709113 836102421 710804651 774433504 139592508 828874471 773139688 402891409 914809734 892679869 389526391 473301084 448902264 433168966 399470476 738873016 617303528 806622809 946430879 226999893 928008091 437483954 138548176 288483162 251967278 850658532 536072690 584599947 312850612 560521206 177123333 960221850 983312980 477823852 344822144 659072814 704609876 249315658 162644648 827129035 901226103 610717107 462521319 295227628 793822786 722635503 308187738 612708797 660753803 317936732 766667235 407241296 830874720 243078164 273966413 392783570 578012818 128825350 318276479 319428920 350193493 568212078 946492417 468692054 134468547 795150704 179396316 704873096 790660111 602006434 559641675 846296125 321975663 648742006 476374802 568100704 575948968 312767796 736132023 229946106 850608058 612372155 979120556 115372553 100333592 899523026 134579981 252495113 363645494 194917866 323695522 336820621 961970566 750381057 171401873 157723251 742298584 202143508 432547549 292667617 610952584 773134075 276815942 514852997 488641511 736547352 543425413 808636351 854770049 695188563 220482815 832337169 608160530 258415165 131129971 867024665 529381662 461180303 348787667 335286510 356604518 144955140 845210356 196652097 969471614 382203480 476245717 171306861 659602690 737789042 640348465 562748358 431837072 920539324 259228099 769755363 136630631 152005605 834884324 781899021 266047640 108427219 901379186 319589949 562082948 617091804 248812069 519903343 721854217 274958440 732773345 905991743 350863517 647939976 737195057 389173576 684501692 224292829 871338429 266628126 589208852 999391087 279192726 475811614 939721906 288081159 817734161 500147882 691320992 794957596 402370519 949546841 254977476 925517169 278971347 764547714 680592735 366652816 371785509 842534579 336470409 555209486 683427021 434022480 211004164 829476362 609900792 677983836 169442651 780940228 565610082 387472217 855213491 338274228 920313821 100943053 874063247 428972184 311881294 880878082 402263421 999137590 425488174 603580006 618610008 278221621 610780479 833526264 641225900 608383031 446960655 765231591 388213978 253718273 995379249 580874122 917321929 903588196 483480174 547786393 696740821 531064587 743399176 679192087 482682079 376219762 596245178 112994841 937998228 560853958 654710844 327917507 969371805 251006961 953143296 657225390 399853545 570620163 249068333 759607816 726950554 207586800 304728427 526708717 464460720 584998495 257053514 932352358 214637016 257162455 238179497 248467937 284531219 783697583 370213683 388902135 737966708 589856886 909595688 821281260 430607997 434498825 241020561 997749749 202637905 787406864 498416331 569345761 357336588 247149048 581113757 278525252 694038439 991610147 646614145 456769138 528260569 243953941 644815304 703078692 929858892 111659401 775297165 896734423 680185721 111311486 237748238 978167867 230438895 284082417 386689875 714251059 666513207 435382183 979609364 830348493 105781699 296539256 863954963 886100368 728488484 473990662 153861858 974414772 663495138 113334726 233809996 534286231 888022999 686983266 176385137 824625192 151442363 734199190 647272522 207469051 675734372 568074332 531240255 826231420 570659793 788518257 682513275 997422769 959567210 791166078 309195947 671074066 713457681 306657223 327607019 161524003 365652697 628070380 328572417 785054996 406407416 693391289 536047109 802742579 191083082 513586534 936009611 142986445 886487540 916747886 187622305 186782851 224785776 532040605 401651504 591171578 214752354 807624297 906811377 782347855 705742691 480959208 368270203 624542627 967494802 586319767 562331672 282886909 187899491 827293214 237943499 838003099 911689786 869658573 307407579 977856796 717347884 398622803 910398619 925265757 344026067 469450921 719696082 540487311 199035820 774658711 398898336 247255186 536467107 580724363 401116936 736889642 169856719 306845328 629940101 595450988 134797665 698956233 384225699 877655615 308276337 433813072 286126300 649177181 696667442 448062293 914239981 198378937 912497441 679775108 108137456 371618488 867783270 443910934 628076926 544735925 206291117 436611236 493257281 389113360 405779700 759660348 973012983 850125991 186310024 513934902 955958741 375019746 689722246 260104919 364370116 824203603 496035413 475029715 252445191 329145552 654243114 223734514 883806997 767843220 568811223 856857265 821136990 671062784 732561658 777674036 874747254 281938568 197476367 402005727 655890502 936518960 803496551 213386303 845242071 293519360 577632317 511117523 416024227 109359329 642491390 621824348 986849803 634711673 908567325 468191409 356810342 662403995 994501972 470594403 652780663 595270571 149406770 270693343 604986640 147548808 720817549 773038998 869286941 923846140 640743840 309515969 106617494 488961943 255661072 469191049 357395346 729633972 286144052 488835379 984069235 820415854 299062016 918663905 577699102 427096838 210989249 884730035 495634873 244964358 237621743 443103006 173250639 735396836 567963076 446238952 356605747 836726026 583089384 342646585 429230465 190350289 125825700 546254705 609511233 776546948 532334959 975406580 322809030 726387467 750338720 155283201 885102114 574686571 862376224 462966249 610216682 751350336 108428055 352831545 363909320 862905601 122903694 980215894 122437685 818107347 979210169 752155596 548476454 516088590 183829709 500632351 183215797 442982880 580782850 949675228 473850966 932421288 157943944 977931699 220914298 166117475 452368967 467001661 690670729 528226206 755896462 947023476 513708242 406411496 428854960 267891180 659620484 675328814 217229759 567979331 854445205 654539231 815636308 343483071 100159293 289153019 663036054 978845448 465467439 756158818 351919943 168116494 698466062 853710517 672452434 235645186 286707694 244008916 494877784 307339836 771561998 156957465 249571294 295363337 602108182 540139659 255718052 913635372 513236293 778913204 418611917 177985652 330552444 644106960 339195794 692120637 693875137 618258606 405766550 750952182 227431337 435489653 746523494 388272523 182027985 995279818 117271956 733360961 325609539 160061586 539522274 704605510 639009001 523432224 137250464 729675598 934251953 770494514 166585632 962162131 887119370 696729555 900704013 510188001 878653773 399532931 483874601 251254262 720031511 904538109 687846964 100883282 417187228 622299148 102262585 108879419 769771825 845041464 289501731 881738850 718758699 138097185 719859522 136516907 311662921 753262140 648378254 483491609 598306418 843245494 228548930 733844732 738284634 141970482 436930860 495677843 224377605 986823785 417813000 547432864 821897733 619892441 991883255 901293669 969750160 588352730 810245031 479075908 291606840 629682978 203399807 772080816 453418008 713420433 805482803 584030846 740975797 245971664 439680952 641597716 423993309 846916852 826073791 903884708 120567386 136233914 341868713 229084892 701301664 290634714 580489087 764023317 576809083 517606505 670067575 549058949 872487778 284564364 215340570 267085082 620904261 509379199 591918857 863898118 736056270 316148241 993950893 413285951 223915727 847321158 139434153 683331698 215068474 106551742 250168122 372353000 293501015 186494738 419013384 170152073 881246175 501917851 915371386 610401341 385410083 393793896 242338192 558384433 121772277 151173538 452056969 453153640 961831848 126159795 735980215 288078396 617272076 986511550 922596337 160452785 249206698 527863312 571724160 658427695 127042617 319613857 489003774 423447739 243413356 310277728 425844359 688578535 887243642 522822004 573353314 571657455 945071442 888673559 340534555 173515757 723222383 267654693 163890977 296709100 461223300 864495436 506720235 734103437 475028952 245265069 709678778 584207049 784154007 717282786 848010506 232313498 908999725 913696813 216357752 679988369 226529782 421591535 115357654 446566851 174231197 456242405 869089430 686750210 879843895 532190128 462465390 514552675 641421231 921806812 136449913 663424936 856000549 536518278 517272846 875724776 970601159 413672428 882117084 375017015 898752402 384254674 468878843 276227871 970426659 944819153 301162372 963122316 717511304 739424104 360796196 818053603 712927188 218507678 380123422 702419128 806941087 881245776 961330717 589333959 164480501 823984993 851305355 560602149 607928510 514268624 255676725 672077029 638044104 402943686 945259529 178523544 319560744 386132181 248177405 928818536 355605528 876467124 785154822 213070059 801781676 822102390 906145034 750022669 741807164 248334182 391634418 140546282 785244854 285900289 200992499 683065664 935905657 383600439 259825279 334719757 351763614 530462428 852958536 984490638 938937582 441154545 471933644 138199749 294520704 840319066 779092038 319631712 172836630 560037032 458301420 625569614 563224105 356482658 643566487 362708047 729746576 143097134 765718115 617943345 709329327 697609216 483003310 744693089 900231791 824455097 606005778 204959633 119216912 679715971 804772128 866714056 600703378 725930376 658221349 679150949 483262941 699192914 890479760 925605345 694820095 952659795 627484834 205949198 999016874 836025202 827840673 195360121 427171034 477500967 773313158 605925942 989365034 504679305 714220592 900866860 780532652 103127320 941390596 360308102 966146043 398733640 546892166 817404351 319774234 908626585 791175394 419375520 170772994 397417106 147446530 800040236 245239470 464271065 564109764 316462861 492958150 251187189 516194010 120066713 401157775 977080266 758476997 972986048 622257643 527786216 601360870 210916079 988478132 128989835 167307442 329135468 574386644 867981503 340000356 496338658 710048929 731188283 310452933 848604201 630156227 639684026 714991706 608136714 502973514 166196090 687062561 438472348 895000601 436475405 538925264 448737578 794373149 822875068 667180907 466498029 100268422 793036598 237542297 543684087 965788599 706933215 364858223 815079381 679393228 746508640 135463052 305898473 200202808 232462336 167446450 244898426 747194864 953409138 250898072 718735962 640308926 546329032 959540936 466656493 553211456 101926498 541611743 276018639 810950066 540478813 639503916 425122730 930578714 835173537 114691509 343670098 116701413 929188436 725188583 214296420 827879273 875898915 247397038 251571916 448393806 539591105 787366223 482582820 207073923 426075047 853829288 930616982 449184325 251422259 977872006 781707394 450945114 592602820 934778771 467248719 934338089 380653172 875657631 568999540 937675119 647852775 870927564 571056610 190612150 211016805 353865693 320323493 415074618 404300663 396692289 527645001 396656285 522096047 900453185 480286965 603490723 551789803 485313099 373477624 530178962 302730233 445833495 999971660 276409854 547137573 586881869 256805627 284087690 734742096 999086977 943271947 161680077 392607093 718515814 466326508 650119476 458472034 287951030 379312893 729268291 956252555 438509601 165260801 851758493 768522735 893923916 307253874 854474003 532953105 492226346 861395946 202932341 370495900 512318957 329424446 412267865 155329292 626681004 730680784 677891664 485062952 689921094 152748257 465320864 385177227 788874164 267405132 257972843 979752345 760143930 640260126 525497414 353958774 663664003 396876821 141974093 409879313 223878394 634136282 545142994 834125509 325746322 233346670 541153539 117512637 296811792 954611718 646189865 372118854 408681534 733688165 501189308 580363692 630697756 952345551 274899528 427361595 226401049 834741941 725712769 166858114 351432719 786178507 882056809 864705854 448630905 870575097 477082557 132336199 967594390 597464054 435040524 681416440 798239017 680673281 345533678 495642845 489820662 923646264 620919690 839506094 306268770 396230239 134705112 682006996 264152082 349652786 417530196 378221653 182805206 295195507 920023129 741446713 382779504 595218120 211794549 115104297 828213158 913693840 689117343 719692312 981932149 322100958 348187311 262096667 598380323 215145710 669416061 975861149 680354351 815297318 714283265 133100758 663153862 637676761 211233011 661082798 352559185 447980032 623704074 544045943 281364136 443853009 378797501 945829323 768597027 537714521 521752917 872254473 990913634 157651851 153684014 179970339 556077677 319461134 182693254 389860425 760110546 667339245 570752077 509893437 453979502 543839211 191908214 947984439 728770875 593480108 676502669 553133331 680091031 339305052 999827771 935659872 574123560 410423735 379884818 917442645 954454062 914799180 719403812 426966255 405859021 119432810 674522901 999150945 483843003 989386139 488468131 276896660 717191558 110124068 910706445 916445585 854421373 100528565 870932153 184796948 988766121 397974351 542931872 683981996 599715978 201579263 833066496 166875788 191783989 627309515 164942929 674463609 224154830 164410534 900207764 319493071 244161675 446889920 730716987 280211131 433086967 989367722 840778194 806561545 159440865 343525432 616404764 792443340 749424464 583688544 740624681 109232167 128313296 567398765 767869137 326736605 724763995 264886760 627128893 984638374 478391656 336708791 222079824 724406966 427306919 851057247 813138786 944883223 178302175 319634795 208649295 833988771 371518552 174730317 202786680 498039329 479878371 945278105 928009110 150835320 412933004 823087065 418308448 849392391 773493951 784975096 351914248 765601729 477727555 840193711 119077012 118350181 322296817 605982275 377232754 250089410 773580761 989205571 808707951 665095704 570917252 824987257 782062060 707806153 105095698 894596754 327449937 478288623 523649536 873162348 489760485 291499177 225077477 949179661 949401431 525814148 756513989 176520678 116057797 468428948 429875743 133556272 279433293 452556894 898155579 838964004 112764646 439937392 619289651 983541251 622340885 449652550 289729356 530147867 566145784 330214406 717025399 130967675 664626071 137364067 533969587 579880513 239316927 950312563 977140964 238067417 840928956 125138917 111717697 475045462 270908533 737709280 657842387 920990095 926335513 706918006 925429426 850715923 639538115 735590927 716183297 655388744 394860115 126913255 629662188 496929493 636757025 710523863 855009699 217096285 309091172 461204010 537101367 236349579 861189324 256485686 351863721 565192813 409936853 518970457 467968644 473102954 586422513 807937567 273147306 454514179 400031330 513198553 369299658 267947804 101516816 190129473 588411310 562016561 713223212 286322181 149425627 524459820 850758390 218051206 705824156 377393490 271216452 457958476 829386935 110523065 352019037 735090735 908206638 569325426 269009442 944479584 964445137 245501551 696808305 547380878 408631296 849840310 822776507 300998745 642183101 901017311 220298236 301680679 802650150 813439964 966682992 906043960 506451200 497240523 787367996 458387655 628783437 318261411 772656531 158103429 614176518 164694292 991112694 468324061 718639626 312016720 458005167 356965942 366605277 430748668 855983731 335661473 690616734 905236851 947717015 198806165 838395606 410323512 276929182 286816445 670579559 758354076 143711174 833555542 907848899 266254711 266121797 337575414 605882465 615670596 849977335 395124955 173313097 350618987 450664796 930133214 361692298 339307554 927196908 332217640 571190771 451007557 255578356 198475963 440413253 329452415 528924734 764293549 431738118 891027392 889289846 169172068 731452605 479226352 543967282 222144459 224009251 274894417 990600722 560784883 676365081 950184842 840628374 292813590 499854378 965731148 943407155 618862271 370034013 390030160 448904200 513214576 193475619 489711283 518795164 424336885 326374947 869918846 850076669 639250882 125707191 481707880 468019520 343126288 390626807 599563088 875671183 895577021 802707174 966057312 357430642 924830634 260598582 638352884 290877115 111822608 122262141 605626290 673165227 540726055 737019610 648930133 200229290 921827264 232357671 755334021 362981187 128385044 374368395 127156147 323960657 767063246 778999125 156492759 288042232 150076817 269560241 553389451 298871307 712614124 239687842 381708087 914004582 230422211 725941707 910749406 326234239 630028285 471150619 984599464 705769739 474929909 804304893 661625133 104536207 872946224 575836786 671725474 644265164 384955449 993741109 934450248 479313535 839156885 169616038 128233091 920055144 234333165 378468553 906134210 344948882 596700404 902109734 481243153 121739410 778510268 796346767 155333503 276486991 114224295 347389816 500948434 316858503 346352261 270293724 275660609 450618330 769081825 856767198 760909944 169352194 303832756 573893982 970356572 650189363 779526287 224299652 279415893 186606660 260856398 775560768 608562759 474258039 500130644 979725899 253395620 902906906 201188297 572107526 663392087 303861914 905165283 184924245 229216802 993433187 408517047 444103937 163632563 807057696 116117703 790532788 957858053 294418122 275637136 527725557 784121075 538459772 783769859 839199723 414562589 466043606 230064565 200260351 546755028 458400234 471345563 449791227 828841065 226398970 616153082 247149075 951941784 837297897 839660408 368100269 138578790 407650398 643341175 373319538 837123503 996402965 267888285 263373382 463815796 578789876 663527251 405580789 307358089 472537051 581207972 554297416 615955826 147386771 620808063 920374751 956879902 211121421 544611178 372058199 729709151 578996005 894836237 604814721 801885111 662724920 779808226 548741561 834306383 179219851 979784799 844875020 459687721 837069954 127560310 542895628 320365707 733817544 994329385 519767027 333827578 177185390 679677592 343805442 192529744 323863270 556704703 550944569 849560694 224044912 348501475 515700677 319319714 719733310 791252220 144018712 560308980 135205414 143154803 337110348 800214591 243337021 151812588 822146745 530241612 264437994 425959422 616798438 490297133 840500023 515038895 858852193 854697138 537725567 595076381 734782739 973580270 900110030 633191230 793725365 296831002 123180981 739292754 905839300 317667984 940655154 143878947 697541662 873580730 278452707 198700484 101983389 345510703 408874318 380512998 920224821 492917592 159132246 167896667 726269221 723880175 645275492 135800956 350164231 221220271 796589126 448584755 939420284 150344482 391465086 199782237 157139897 375805291 629895336 793998782 787695080 217411606 732449149 944041228 199270659 524526188 872257724 281887824 930968072 543786226 873985810 454944879 903845884 371607224 390628567 743867312 801954809 236282644 200909248 712401280 728346019 932802657 420976384 837574731 426737395 195223858 412242797 458826795 706651070 421508847 352575612 701125779 715754164 189639846 386709172 221867531 166440005 925990268 991919697 880892338 945649079 935297999 188128548 108497811 791758161 422454501 683940765 557726407 991598742 938964446 536294910 260629997 524642379 108166442 718438380 389815786 887441475 132833651 577303331 781094966 956796112 347762508 822508368 771083891 211686155 299134377 423164806 133701192 926160767 313823718 835907119 827649445 754970423 278303737 673902555 813257452 708534144 223830820 433333996 102332922 988601805 399618724 977560814 410377993 893569301 823017372 651031810 780226478 395908287 869740445 120973024 350654532 151029541 991427097 148315767 606461938 143094054 181422132 769435738 205794661 446508697 349782907 863010253 698417622 626190804 704524245 144504002 679628046 535055762 651713617 826372655 194635698 996889128 799932344 389631196 594487846 663042349 797132933 422982920 947750997 691342395 869718521 128460723 769987839 528144913 795304672 135110425 289553540 658924070 623156534 588710100 989146767 464633184 708658137 115795096 823833119 984008909 180516944 283302682 589479549 339747326 860322157 891006004 989301062 300558110 837412730 402337863 542762431 835056617 742444294 304181630 934619296 415320120 402892011 445062121 791726609 644003466 864826067 156829367 183653841 872045703 777153822 533886423 918743985 832915861 325364734 297191845 527079751 545464081 119323607 712447998 780223123 164361719 390070108 364561044 619180885 189586925 928093321 823265019 270411594 534712072 647846266 533292948 405601342 617387296 366734535 231636577 138041190 780972061 350503247 921885806 882978986 647465823 863730839 847710756 351298727 673068822 206131848 834282583 119571723 363629770 352735028 407370618 383439854 266104485 880398432 714838874 749650764 568641044 896715602 738347996 705388359 262046314 490049427 929284316 563206761 728280080 210774044 511794937 542512853 528941263 122092654 813305997 688350414 553886778 486090767 317744343 348551090 963380635 444571564 214278669 955424109 519874849 142113028 735496992 586447728 101419170 255596272 639752702 225313344 471513761 490325701 757990813 904376823 160365039 173821937 966618966 947911317 389483683 888991270 917660331 397441089 633168218 781315882 826086126 671109393 197941080 564234843 580707726 800635246 561792574 980916593 202842508 800769570 711371538 848000109 127734815 837181296 395275805 380273200 134544313 403379938 838211946 746701570 690600008 743320015 940256225 785481019 954586167 472007498 705972962 629890997 860318175 951425111 616758964 230918247 695739222 794544585 826624983 558512154 388339566 507102997 705964565 971969280 693683163 232420150 673203574 713400224 528078693 927890327 710584351 275448412 877050191 439532457 347948007 926600516 898318719 302341193 537029444 800560831 729970387 151229805 828099076 652845840 813981912 469213739 621100914 127723193 945690026 273876936 920068945 535252134 260587931 704120324 220050740 585640318 351315425 250200181 664294746 821322165 149548580 265893580 408620323 146858580 570580154 511965841 362099759 444579735 800828831 179578504 672713544 579943306 920080854 747468197 996919686 284664445 955797869 458657433 846996101 972647431 831745754 611682306 680729808 177970749 734370143 462168456 674054815 349519739 533114211 426007218 387615706 358378392 264129176 354999271 799410474 250271076 880236812 606523761 822000845 988800750 657074324 128434225 145693053 510099965 543584777 811284519 355178804 911613117 916261933 874372656 836181059 838142894 821266612 397034954 264943035 387505719 350889955 966366648 589879412 568722434 399499694 473505597 966773320 158333361 495139888 996804492 982376977 162054338 550281254 193445814 325173344 837954365 286439736 136108402 524803470 564720018 273886312 649063261 928314844 573098675 434194593 265650463 881814924 707059074 475565175 925383155 345748791 907118272 114911717 280424186 914953841 718650454 851915549 853749725 783316450 131576459 575775409 498104942 383204372 582474568 482338183 998131339 244451596 878310593 408310488 808143315 785564104 394553036 357812424 967429348 204795319 951296721 342037180 382775898 739092493 122970327 672192572 526409039 514652181 548617635 494797988 448296563 135693813 732570223 908888192 256567066 809887665 642796222 399213166 281533541 790177282 881451965 393749523 795362418 810073232 568315677 153912155 392700395 974803341 422786117 511188949 279934325 453179586 599337224 749443770 923833507 834529779 342556945 981479438 638160936 956039284 831457852 124423056 661213969 510041826 646325946 904846419 912317214 237813008 776507959 295006537 588286850 524796414 231327434 645479888 869176548 652763987 246402314 121318323 207744041 157306303 127476161 940181492 374359508 751300733 391397353 822818478 593731509 357648785 782479142 972898244 293027525 215188326 713069251 688561322 841162850 827046981 628556172 380175708 170996682 516112137 356990493 655930116 308545112 344367217 927006388 892306131 703259499 716850713 816066923 128853581 427711889 896740802 853227724 657828040 186074566 388956419 207072584 681727297 550181587 769814168 193889806 279260640 225242412 693642281 930332948 849515460 593542510 687077430 766494595 597414179 317828129 228688943 231190104 660869868 751247910 525058980 830791721 359946839 799730583 789073785 410242215 758833399 556441901 106611469 620412847 645713594 514941519 303326041 748518757 202396379 853483364 226186327 241782945 220079273 716147714 859105723 403124757 356565289 860799818 448203431 260131932 286039940 461704331 393429425 764696278 833865494 235355601 448569644 968843968 956846943 600081167 760824643 856692518 115174101 558410777 361731363 634848067 528617095 454858847 644431758 220993038 869932564 786514924 737262834 287293650 222426973 166397613 585762402 750598716 789694910 587107451 413021887 148727291 694245419 584903298 121118209 200585173 742940111 974373706 756091712 349648177 577717936 440490954 941133845 324910545 444346890 985540947 543040326 249342182 490065948 759135843 762129925 847618296 229216374 383937565 373355718 202347563 689565517 746703556 451352177 782764216 268592674 133261457 428919304 267740233 363993018 652389324 514985311 419340693 783203095 544352149 615671951 945026541 580021470 983181314 643345909 684102321 676265675 367351582 597125487 949035443 896206975 704539447 333167186 695290490 673077743 329777289 288625735 131757954 759034626 272315982 929816516 431041930 532056185 397921853 850459015 994369905 372751453 924020944 689710385 110141042 241553865 629627886 768766908 612812255 234006510 735676877 768537866 832707631 392159487 975749063 996863975 664377471 772202324 697755995 978817051 615432327 667576574 622207920 956482145 518389493 931423327 176654884 570999112 228672465 771429574 101865039 167562198 510246047 949162493 791293718 268170344 218713537 325904828 591649868 360372802 306578496 133363444 975224799 113250147 645493807 324372917 762473227 869644103 144921131 349784081 444820161 255881297 542736253 400742522 470029525 454081543 450883430 774901019 933086766 694017625 545856101 498740520 105815712 434944343 741209189 288510675 993854667 363734754 774053018 906622983 915447896 727466731 776180606 739358188 768405755 352079412 863540744 535883340 987833145 444013027 113387854 297108610 673500559 125479368 963459330 601997124 892331090 779176191 743454939 695453070 816112097 839799899 715527877 596061385 898107970 325110396 181219881 684968078 113605704 207935933 445239003 429130208 226129652 952021907 765141449 791935180 638192554 324452877 139433318 123554668 312786931 834083446 930499145 661627852 720581325 871590997 895559927 955215719 930416476 906694790 394132603 637204888 889115873 478450757 457705687 853377921 523031525 632977091 923974831 823901344 953611423 680436408 324716462 759175017 827661824 107186348 709991042 127108548 914583115 799844826 821011144 918987966 333159124 105209030 568069681 901944518 542979747 653544915 481008442 782094896 129713936 799732378 967210778 224739463 314302761 885848708 529980018 674557378 144055513 169955489 574472526 223356135 158568631 995711112 897079748 654345457 428606822 387412767 118624145 934938889 359019725 175342590 552369679 127076229 367790853 370357897 762947682 367491744 567798036 855583465 109361643 934734184 719881806 773541495 948457229 643218550 730032849 358323634 550758968 629965948 438425637 803076040 386765149 977893817 273932706 872450787 196463585 918680042 835160634 398828564 625171239 427700398 380519292 996671742 878943370 914788731 954773737 357367435 292485680 937322353 697682007 183919447 803838123 794451021 790105919 637920889 801154760 905935802 206500052 622204264 633457313 249993766 839530904 547491726 782934594 883497875 310578440 847408577 149714572 538502798 282371146 426972364 900032265 469562761 973289365 351555098 205490575 272234314 826081319 723968709 574601005 913783560 184457010 570180631 353433526 598865170 857238517 893304297 381396583 980558065 540444187 176037098 865927041 328071499 660117637 980090179 856718477 710404296 528740534 114158280 696552357 696323641 396907682 644639826 819917781 836272265 320038450 248475389 870154734 761910304 319250496 860996481 354038200 812835885 826000581 432411912 547089533 453156793 938341156 935265161 244527092 134169992 760152892 373767772 409068053 513845949 264503064 848574853 276185476 921450756 767794891 621116587 477730741 250111059 793776607 422160035 531762614 854073368 479991190 802247038 520678761 124333949 276073426 603583465 321457272 425952220 985621644 132776554 703808232 880735020 433195505 220713928 489108962 163821811 157304015 787916542 938552568 221578747 390686259 609935910 475394569 430158266 381351916 804442898 210209257 315372228 851533950 986116784 582810110 279592714 411980102 551937430 573717493 471105809 272508431 171600160 487352507 915496877 210965356 526591577 579756198 811288700 669305028 782440762 908353524 410551960 600131599 489206842 752398171 776026740 928320673 173657289 731081097 261342890 532911917 883307044 995893991 455316835 103142587 703635695 327963429 686809600 131438780 675908717 608904725 446726715 508831018 868029173 566538490 393624137 626327407 255230515 409968817 533356330 829772213 861286430 726677470 182147631 612186659 246593747 145266154 418562474 108251141 533530860 531807483 248732822 566636256 425839365 178956522 529986415 767370388 872027993 205989907 549218175 969171500 346968892 708761053 415425895 197659092 552355813 723452069 211898362 325569596 522700040 570087919 598300660 548277947 736886204 663953171 855200634 868027363 684483503 370668130 635201950 733290681 914416308 777157821 128154039 122407353 221413588 612689061 684040507 215309565 338854968 894544411 881154129 319384050 734970495 975269436 284295653 879716416 594751111 317479768 504514693 236892903 263029775 224301370 727135349 677292477 653704988 554212730 475359412 868526492 333815309 962182763 716981838 935084063 974962095 694183820 132392863 901916533 412570504 226960858 768444245 902124235 999259481 446838257 733852467 202382993 816218419 527520508 487364977 746360544 396757639 326926353 555033802 240190376 387656238 565370485 293543011 233830751 745922773 996002734 727986102 951255476 213341329 801421329 247276660 990612209 590420036 407883040 818507509 725188247 326590280 758220368 506122827 710262952 583079657 200919304 707681008 763759310 161796211 183785423 105979704 551039811 966429088 487031354 937701235 687252059 313376713 482351049 348177677 965285712 317726493 983431919 731474483 144136496 879982237 679256210 291269204 901941123 347579036 986361190 292160665 145515114 601557705 892514349 583802263 307993826 748727078 434193516 617652501 837813881 577896369 201800517 110713099 943887540 439742325 646788901 307766320 978407313 285672712 391281544 386135831 361157224 455851880 617367318 215217932 896683594 713937375 112157311 900743508 152960519 933438097 470599797 290739728 728490667 111798725 237752541 375401313 315502416 159032499 378087152 249373121 838676578 801557028 891862121 770854875 726195204 585206986 187282303 415736603 910647807 169434039 450576241 370155797 329677020 240420962 700903563 576872692 467026994 976827534 642579165 925964298 452002434 874708195 975804035 461192451 332818486 510146887 884579418 838555552 724268239 742173268 766809400 299041637 690736345 161948822 509439173 388911377 790765586 865611267 641650914 583324864 836040367 312615982 505708480 475580263 646767447 236626858 600858689 329780168 431498853 811077507 538297855 346836081 286202169 743484780 758023366 198157568 470317184 227490091 651097630 601577785 445310021 350896391 429882875 815026011 282951934 918274601 175578930 319056963 780315583 387199654 306812599 170031490 636216063 281531516 481718406 591423977 163688376 925253215 342894036 652819811 518853329 380305718 110174443 496472021 801346719 856138584 867029012 282641839 215445893 702217100 107685073 965741050 558032227 915658732 784720732 800632760 955090679 864171965 640902715 519109991 283638048 338910203 459600460 916894395 443176416 776836437 671289281 975473750 433487443 482813681 397070525 608361388 320678046 147750217 930142834 788423377 497323107 971577722 486568500 660107578 166511806 566146068 462805729 658589473 302661622 991030137 174900435 351476568 690399540 482612469 197847569 998354726 328884162 685366746 938216990 107312438 754493045 444761088 462556231 113470465 643084264 971737629 185312178 329724515 976390143 859674495 800502837 958477864 468431375 870733900 404718942 585761789 591150861 964354525 606854495 723401330 677940992 991457319 349122643 888418472 111981351 496047431 879164733 743627550 371184377 517384142 811497016 809592796 301785935 677271133 920947292 846667857 335037365 829749305 172820823 811589702 442560349 267607953 930820641 666698116 549985734 862611744 312255893 444806726 484880250 400397342 498694265 566641468 591680011 122119966 194524336 470176190 396322943 641088565 729450730 167865107 433979686 843757935 623508894 297063817 729868406 156948853 927085011 443080779 225732833 221792738 134829051 170016140 832919427 440745423 170790358 470618849 817540158 824239572 645088567 173768048 975491716 940212863 640522737 810294051 710400074 545339767 895434794 401448169 402245316 287254979 272623872 490447241 784298962 261174198 985325961 865109447 311345474 149044724 588895797 297879594 998058058 471152468 517369778 927371156 829567932 389489679 710773517 973028606 349790219 152838824 496623757 919903974 834308831 586810893 365235212 431150917 368797767 775381832 984164541 931152018 274016943 454293173 894346494 451718734 272887659 615354052 178540328 778346987 168021345 502965697 610057182 782129930 210251198 666909786 722680139 975801314 956731716 220013981 963130958 384275767 611497997 253446897 344277203 304696471 520115729 126441344 442213893 317728145 424449838 432797453 426826228 850510569 510538194 903382794 670342839 860281988 482320769 527570485 819869954 836885538 436273760 525299006 580451807 415745322 309531488 698893620 844358613 448266300 196932343 853498126 836773055 885974151 652071766 974785893 305230530 841097385 457086778 369156337 776756953 779008761 572658780 604822293 455195298 494743634 851078309 788959367 511214663 187415356 859066950 861229847 978290650 808056239 739614292 289087672 798117747 656838047 763457220 449589762 993856310 646709005 343885522 117221986 336344261 917369503 840397385 617842009 289730172 279543807 628693007 939170153 750370557 354862360 633354900 913614705 906787598 545460533 394060675 775532493 650048557 479863105 561529415 846809284 117511474 508118231 712975303 414165218 347259393 172016737 854151442 381896011 889513997 846461639 805474750 578872265 240980312 953317494 716167382 906237015 200658793 374051404 506030918 829416396 806202873 730923598 678761847 123150860 431107606 906739423 106383962 466623218 326390141 603100925 810761015 670569908 234440137 749912749 812876883 262535599 254700512 860616779 175910889 871265635 714075357 307316834 824829480 495373513 497356994 699612562 262695818 368441547 309996908 390999970 457652769 126311182 204883111 760279781 746188445 594365800 774715653 283459343 620175200 591313927 287846464 600622830 374559800 366498846 589636737 378825813 712620621 288861061 820223064 428451237 850011406 607834410 875805958 824053866 787228406 566599481 657736783 432184139 134940565 659676225 742569936 812833394 682102366 463584070 160731518 348502506 534771741 243101876 335901873 547386188 795990805 637115352 185228673 999223198 835560422 743050509 490724157 599485766 826074774 314087231 681982601 324861195 476196770 569651480 822568866 559264607 924876946 572936163 367536016 742824644 957176939 597628009 979674221 875561574 816642279 525807344 983603350 381193693 324027784 181354234 766852407 805744112 208678521 422521404 378084052 912474975 567641967 624689491 113978939 894349643 584593930 484893318 351054087 277308075 697461805 483718992 915009882 576780772 472236255 332124500 596858925 615992344 288626617 905307877 147031067 570459530 258100204 803230523 437607387 424043281 304720560 900454862 452284332 316148681 326879136 545423204 507330181 882066403 250516287 853019409 309397038 494492525 301137909 861212771 731480852 169134533 913180891 553479695 247567219 792352514 222751815 296911155 891211824 434205629 628819012 819979625 484286867 615318380 208072320 151217821 738758601 355103199 416817378 335103928 911262471 488550516 979106976 143220813 248459028 358770707 717840950 627222732 960268178 959134805 784421241 153274457 843651919 545063600 400076600 370632550 617028305 985742274 469910043 898272982 196801873 503316225 882493952 792247688 127208189 558898967 329824340 766039219 971057309 131096005 279532078 665958439 997966005 550522960 344519602 182324654 816368221 570947219 236506541 509396607 687515364 333611602 781277208 565308838 651661871 602954635 756370185 570161554 613692597 894042736 528566369 772160996 712077004 333842986 407602406 836827001 113236597 162974491 675220763 979886285 793481023 364633831 474646854 296106666 712744971 347626329 776358959 140398933 576302611 648527248 285394758 492533914 319684069 611801054 719146843 148036676 522742859 392268907 243329937 746358340 642256325 857896569 659423824 621375775 557592814 770928422 572045114 450658587 815535353 544390778 456419277 244073636 165303306 821593626 681238770 247421548 417258775 584734595 303512708 377212122 104494234 398449269 463758908 839984986 215134384 796471411 599972624 233135518 373652236 331061150 465376876 793578591 987362882 372551858 310519382 629070035 351136649 836137049 324558652 274094242 298244571 361038551 953772246 555453576 585282720 996712081 934564275 279674467 414510705 102339160 731546362 253733358 141743233 603131860 554434974 430930143 987838883 415589227 394638572 937258043 618038301 452494039 397360703 498204172 237242065 706163790 270319407 493881095 530775604 439559283 130874345 526864762 233052122 566257315 905750587 304737987 244522902 318748101 331692532 124872127 316314390 701574858 196592550 945999115 204456957 770296443 369451926 432415353 286935431 860534770 991497504 298023076 371363701 495463646 400343343 775093067 809725045 168702726 381387431 331466681 548532031 843320008 830331927 699909767 211432599 118069809 685446446 380781289 120295083 797782842 809794535 483484980 447765613 432168526 367486217 526602957 922683873 415139540 655505313 908770081 855098986 319886017 938106368 261034454 692889070 750764515 855387508 197247636 775057873 989545328 899992207 292161579 191153359 132218241 572387850 165733502 111195903 595225582 767611725 449924308 485881976 376502273 937027709 452648327 182134840 381033501 131850998 345611444 838809050 924527418 317812716 613424373 670487753 903262180 145185347 416975099 191322659 159026015 612712465 898039184 776534345 454983814 835011083 404399122 691540753 716394313 532895225 135731929 855267776 102605289 900155478 872343502 990405237 101934531 595508339 332007275 181393722 812546125 211054346 820217937 521150765 611627099 132620900 901780038 274469848 401096964 865161549 299140196 592416416 784041815 121652451 716423224 801779866 928833277 864100423 857443664 748039031 149641584 174672604 988401170 724735319 596880798 845193174 577465181 257877693 855775929 236141483 289524477 706670307 220287253 715271931 679603822 343628217 409571036 641591251 423853449 727564512 834094528 654287045 991061248 489183757 552170461 604150264 493781936 696350746 900455252 116036618 296763163 152542841 541313326 629658022 260790491 786982388 263624594 115664531 736123435 736008838 601690987 242565634 369325943 314207400 172800375 225868828 428603048 713353190 861389142 650688699 192157115 796458209 330755896 789166037 703836360 326495134 481096707 903366604 928002302 667592011 301435381 842695196 730822140 486801739 333646532 778505549 515393034 888676333 899254891 646229631 851898196 871573411 280060090 398425731 673709972 949195127 142824594 827955409 210039157 196417874 819809237 210294753 952632271 675819950 989278025 326495221 669105062 599444195 368456114 973851183 512957901 230433793 127617728 438200182 479159029 359588200 801225693 813334738 373162510 237262333 417138738 595760855 500699227 584452488 497819378 126880510 800086146 168794189 733648148 860670905 355946724 747764719 958145642 283074451 695169788 620683823 477588722 596805088 512448944 533260034 282989732 858392104 761565079 877123252 800073236 697329615 666736035 133925189 814311553 568856813 985786041 789366328 370624524 146955356 270951379 205772263 808935997 895858998 617225322 165061618 606440033 443504039 869312987 817669147 500744765 396548164 342772246 306624635 779321870 763374557 883973132 649099427 384567516 751122057 504653671 957523691 446323986 144004090 574771000 583658775 656955821 705703849 821028797 969895993 844872678 994831939 354708224 282967108 486772187 104863088 545913617 903897886 288750881 422270118 416009845 767991178 484649681 485346110 448501249 610610793 934562905 765196307 687138773 283494509 878534652 963853393 673213115 927513086 890028017 844702665 228475163 983079048 805078649 128358189 376471062 237935151 928635875 647546077 429722996 866765540 773538553 950688604 226716369 738633461 234041684 643580037 692163603 818991869 394252695 724475052 919519049 842086756 768725063 677093965 545399196 688270912 985712657 139206633 797712070 660305178 508619428 626858560 457601046 732470761 758478914 701809233 816803977 539970648 389467084 588520701 709851663 525492975 328697164 340593964 949479310 470309328 786747028 636018914 148660902 853141845 109064355 519244868 859779133 468394068 715541711 976271586 493802593 822454211 125838894 433623063 311677916 344448859 967085019 976450698 538436931 633838684 153037591 703608743 406971205 236628153 702106753 658233450 783309390 609648675 501200690 345578158 901687924 436449395 111956963 805571650 407742485 648042165 692245918 384179033 587832585 169537450 716849401 126868156 977825272 185937116 357720826 940908053 580010076 542067656 769468611 878010144 781419664 136938475 602067215 515713488 655223618 598538394 200007212 824134677 886757257 425497934 101579141 133752302 410788559 719389903 163234753 879571748 128596520 350762833 460787382 217116831 821082394 434889484 772645107 253917463 235635161 346265497 734336002 760971254 684806356 636083137 156969844 399114367 984496592 351056719 492591408 216452825 170321439 178816227 599512877 812833849 314842367 398446464 424954985 578251169 688241312 962216232 719986488 932772023 491001598 418451404 643494302 695599640 763643462 579973223 982433001 192224745 516329666 576135712 436850534 524472991 611413751 661290010 533459228 324535250 871038018 182178945 784054985 329355154 535610908 962806766 802061138 844716534 549716419 344354394 457632612 674680903 566459020 817802870 247591087 658834646 600455497 958268254 125176554 563693589 396832189 674188849 307625296 976150923 576571055 583733440 421931868 470526798 911746269 892290080 849681361 481820739 404417377 356736436 640658166 536072058 423963901 315328849 151035988 449830118 496565083 423948305 474501018 533206185 532767303 859645461 228911486 417258921 532282734 455928915 658891882 559020992 881398374 510677899 954774712 864151429 834402689 110650958 288718025 340700677 241111707 198627829 248075100 487885957 293449239 913030980 975809956 514690447 362138581 632422024 864514577 170026346 594098808 919616829 804159043 693620265 926009830 770857655 981785289 387118179 967785318 776103917 870976056 137189646 454948854 575558769 549243289 909532673 658196670 105663611 195108393 140795778 417699337 803254357 187310511 385386509 823968972 142834319 646855710 676340346 943063988 871114203 533585051 580982813 170661924 160729493 540689945 966279313 985257080 279440473 361919081 313538665 292983855 338633182 335302937 446119495 230349272 187522626 734636053 342351515 853420836 204794447 255378113 993859753 286094740 387640645 364700003 399823902 597221514 218490760 112350445 979823395 457205299 255802202 310247628 671836985 912460927 709672020 371556829 671609764 186368505 285262640 423717249 782016154 621194706 954603715 361691996 926411448 994250777 222877609 148470678 327828122 260449275 906670081 592523557 853018759 761696805 505673353 183651975 637513909 600599643 934866017 740681979 581838860 587794069 831703053 914872645 340941085 897165061 616357845 453322531 566670778 911558366 913881384 334821099 895916820 795279273 351788020 278654395 920176771 425694674 567587833 385556460 502402683 868870542 939765394 346668367 243699159 791478047 419036393 299765602 861342931 406874140 163192753 892956673 919415033 526745959 737108640 177282714 773118431 359479582 935185897 475599737 320716266 272439152 332731122 577648234 668170169 665653007 658393862 572953314 790056848 932622620 909743659 521712883 822908565 421156609 578469957 591830572 652022221 927494783 511034670 171284990 309216590 383713834 613222332 929721210 627938137 762857418 614574493 281440595 391980667 521991827 350082107 292202717 742583077 211784525 134791116 538740697 879464798 661512732 610650028 401443231 358975049 466174789 180709556 332957271 926689511 336210776 159556758 169464733 479845744 622150191 974403082 565559034 476428196 155685949 684315832 314328581 148819332 776013191 322333029 801848036 667075587 695624027 155878822 849419599 280214012 873768477 509729684 225806744 737744223 416894530 646272109 384510138 603643554 561129708 924010215 861485884 181875863 148714469 349401433 213393122 636988914 390059669 962260580 892119256 433004275 464928963 759371438 445272294 397124476 716896970 382712154 777703661 407291761 854293861 909246091 136568697 687204611 950395902 862174071 327598969 645265499 883786762 479097500 267511674 241610446 124966825 936450982 185637543 361496821 342014341 562451836 839156558 637361322 700237409 546825988 423511556 164886139 780071357 707489736 695983876 136290352 651974880 486138116 790766051 649355421 787318378 433754717 281696849 203397893 457123876 580476986 397628464 697729979 917477391 371594611 154927903 253760226 913607365 309839574 241683419 491378974 399812677 194598731 950716103 766850003 456136370 183291486 285635209 680860609 494887939 301163286 314216315 292251374 250517036 642308621 919353353 878022648 325981025 608791034 661048359 463971004 437029701 932101116 940785893 803193542 214481140 192498391 944260225 760946100 991383705 553178241 649976175 913090082 558459093 789040079 206596582 937086444 782829574 868788335 753061665 884386719 682585043 912329819 182421292 366937585 933510667 531490914 559222552 162248318 442477132 143974807 510687174 570413430 529121285 838620931 732733497 487432622 581209310 283084264 340777545 965518250 837802215 906844250 750734811 627907966 874187966 318875741 168751312 952607380 569066601 990812837 176226523 746400551 590527203 767545279 420541318 401248546 720347942 873071216 865225473 360208115 846212628 514992402 430484233 549214497 379439253 743189137 291777442 338843703 707951612 889191225 841115534 551540277 354807864 667060235 927439300 376064966 902851864 685446223 557160300 380168833 816848243 708700576 679780202 656185380 789140247 348343506 758076387 548594440 246717123 876126571 329072364 458643438 395192628 582206002 542658042 316983158 557416224 600287207 256374145 624224167 962360130 306638701 548372200 254612373 936317238 898971627 987183572 653973909 748607532 385103010 437432114 608496511 743149268 224084576 412665252 440296606 633310368 164960718 274482767 601061608 318700784 709176840 484234426 747615111 381052178 767951005 778762528 956234466 570908562 861743278 746210959 832945556 576573060 224041303 159914125 766017395 240980428 804510015 269797745 149658076 810321722 251738624 818740241 290058613 339630550 458916227 204625972 110776877 689155529 778405416 364206099 290871716 313191144 429323664 345723910 607520353 678428313 225544387 263740567 808427411 880177973 892471948 831548445 760537313 528731897 127138291 283674604 116439609 871053232 723825762 383533480 563108525 139873705 715769740 364032963 302018796 446022315 364705200 642651825 981326509 327998477 720724436 494179153 356082727 686245023 173058508 452503797 753999632 827335776 707242914 640518484 458991102 333502980 334459987 262480792 811772657 791323397 604478001 763189687 684794079 412961933 532621399 360782636 898221550 619682568 673033335 512307539 348473538 278437458 304370535 511940027 968600205 667510034 853504366 108013536 912201211 714209738 593089362 436837414 166417864 535144363 941038730 166879502 560630910 552067335 157707654 540655772 616449421 901051960 999319888 541568381 445513878 592913323 477710126 619275569 277873375 980997964 199201667 449661475 786902377 833776768 274677321 797574574 423547662 164479554 130776957 410939188 992647720 938132743 851426973 353501341 923531579 142753446 337776169 333446158 807939823 698522262 947099763 753917260 290967072 723482277 817319798 983397345 958351722 814006164 350288728 149996890 590014868 504689595 166350484 233944385 385415673 887020269 731902263 486707060 692376572 898220740 881104691 617111759 109200610 470384795 582300305 449062969 977237060 777722128 170225551 267165845 578457750 607241307 212259603 942643088 707233784 862070314 609830827 360421314 998667691 525736771 767239354 161384280 286822372 218680898 171369060 563054752 964751866 989873501 504931176 204361596 148619445 693188947 360071372 327940008 388154947 881708951 235542431 601607716 898330359 569667784 164752447 829888622 565818648 555160777 510474694 706846339 306948222 911914816 420270866 809125653 569263051 145286123 483184193 239603531 456504342 957174805 303581726 288001841 622574461 867609968 433744486 904724487 736343470 366332311 949843507 280496255 875334468 174094671 460839385 136934984 778594962 267341538 994287052 700519372 110395002 563417722 187572684 141491214 108490101 784712145 305129597 673023756 633045671 426199721 928726451 243245994 773505512 532951310 815519922 912546409 871539654 684766654 124777250 225976914 278156859 983458125 932141130 711948200 197862921 707783713 587170736 622120643 319201153 318348950 612255972 723672782 528138481 553818485 909333128 259518191 870049155 328005057 493056486 743894291 866328063 626969918 783767878 241471937 997854747 752401929 773067913 402809294 233047657 944364149 368824922 704469970 184669646 982900311 425782658 451783859 850148267 202439123 167146171 331358465 749371709 916870629 811902024 248709831 978831063 514798829 990396609 721301448 274007171 506323054 953163000 516134868 599978825 877814428 930498464 592784142 925818104 786624708 828889867 314453357 977588518 428366566 832081230 351589538 276118258 169115608 443831366 678832995 681266445 744746537 414183554 720494846 436159276 320989568 205859806 292387826 529051582 508291641 904719957 165461245 202510067 649524356 476242291 365229094 687092580 657744681 899172753 170450820 127130676 807415233 524626172 124324268 865788680 652333525 649606632 952483788 272798541 694088540 167893719 984398858 648371644 343463061 496446359 994449628 368287374 566662704 704503262 272891607 911087675 566709024 472222857 293753216 981139363 401362311 732933940 121405352 261994060 695847052 410208386 959409196 682929206 176214289 620783369 656906208 215122891 711738493 131114921 828556172 479460528 981572730 116910658 585187804 757161675 249838507 801186123 940286591 452631518 335070558 246297229 520854458 590208797 234312735 209576785 375891469 547073860 122084098 773971397 834208290 206705483 182477121 199482182 971695056 148973195 665350146 175767783 864011551 691359925 359029806 393223447 765286106 477742310 637589056 738931745 903817354 332010376 771953723 289521275 280639218 349312519 522774314 932330527 106078405 304550406 962993724 859490979 857700065 998242723 956024909 949986426 681835448 364207370 631382294 437166500 508045321 241150096 609756399 628857055 434935883 570968001 149222774 959381291 259174944 378744532 214102924 194977139 750723827 852880185 607108585 741751824 838978291 759215258 742016234 855564440 272992436 856447452 152916325 106200347 347706647 682820543 815178876 258630311 661221693 998770146 864906790 224308958 397288579 660812433 334449525 191577382 995175459 247309240 978178927 521589500 861113682 197234795 690151883 770593182 905872965 129384182 635680108 832717913 819403755 119169715 839347089 456222871 266170246 242979376 447472085 536571715 853211979 575445325 702601946 103536902 510572620 810694855 265699449 339586867 980555663 954670554 998082667 797823781 580904358 906663312 871635769 807378501 764416322 208905457 579714210 384151675 851443544 316742106 899630536 803103774 145923042 696081850 888893017 293680181 416941262 551610081 297984425 811777253 704113379 882637409 811529828 631350976 311138410 750524662 555683457 601007385 869975296 114517318 671575995 294788423 378779339 465721199 189736962 949315561 128782975 220271553 833693602 981727956 648854686 262677999 791682144 235522518 374440051 874327401 588197089 289130895 391416912 261639738 984651733 208996116 368394538 331837378 823545261 992270667 401161721 526097829 111709456 543683919 134786031 734465827 673982767 240376134 751192979 337992332 473799565 308167709 417557253 833339001 918794063 380279730 393159701 492076902 666399267 343672732 916486442 590593319 670791281 805165281 729052755 802238114 568808930 882673067 401561392 988791767 944925776 249534603 429979483 110900783 149585417 639273775 495010947 631154343 849118833 533668170 449712422 925555076 455948977 165616532 569361426 381376618 436504076 316405046 220341711 296799202 888652537 715849334 678751838 338747395 116409932 417532238 553821768 963235566 451100376 416634920 741175367 869476322 890062235 395396196 412681350 723956706 621500279 924530530 137738401 107219284 468477924 175906185 166698620 178430302 697300662 614148350 754381585 854425727 410135556 680181948 235718217 429299674 652488136 654122480 115531490 365897910 692278070 667173650 546902374 472084641 686511624 107857690 272966782 279990217 501183942 386976876 717162263 339004315 545797080 894752410 243747507 590904753 715271558 202158576 687903691 101502071 228617072 923779745 614980822 379263482 832524372 918659496 787487669 208365677 918324064 126389313 471288328 404328169 886110725 452943832 339999083 888826715 446471959 143397179 293215615 917588185 623989962 350972401 103655342 922922233 237347374 634712355 827849354 713054259 943529842 863161518 814620132 328639923 765227184 508685554 303333457 382519123 467341697 388248866 719194505 840177935 809310869 121000398 910691591 421912370 543194273 124354448 712090998 637310316 446606605 280647937 826771379 360973870 826171664 838910701 623806098 628185629 516367808 978357328 177479262 809490439 736152111 884526530 274015660 768301838 769016816 987743995 130623740 717932531 740985851 132601938 290570951 703191664 917982259 701189153 271216873 406754911 528478943 973468231 927320604 196228124 342965157 349087999 838281079 799626855 907646266 385738079 941975842 745285636 972920417 642016575 264797979 552362998 121368378 360647781 963790949 163760959 205987516 672443188 159313632 336781374 407938447 406008700 969537501 140104167 418440200 834085846 249747106 847775081 743080425 548600458 485998997 179182488 953638010 308029325 202160192 147779661 351553822 314677912 369993746 963787191 404822395 159763117 897250711 941637292 120375155 103395353 838077153 289484537 883809578 320492210 932936914 471801523 870474808 957034775 863459524 326812112 488552539 678896090 854069539 177560166 573552442 575305862 938057371 597903847 559568605 132161341 513848060 609323134 183337953 471379542 916755162 182862761 172807214 592938361 637078704 373572585 375763680 567421351 898213751 200469505 855124188 894634437 973848563 520756088 702932716 700766013 915454234 185335680 398077627 468996445 942181486 665293754 114246797 249123543 754631968 865855778 388563219 787431367 105422644 676712749 236114727 729602695 136492399 378208619 641565733 722497410 611167721 778430224 828625752 553531347 797673838 621310525 991151130 878651947 103258219 488470149 773800515 208681289 653499928 776836328 376982047 164058226 877617462 808456025 641023257 199203231 392668378 811475729 425065563 760025803 247239394 544344350 572523575 121436736 767581401 207895262 431775971 330992445 236695396 551722093 878003940 820372281 112262239 819496549 650865046 950173927 882040380 458056188 836236799 385104080 605294403 700545874 920664215 677509543 999776909 606823781 554089828 128722266 249407518 279125043 651904045 716803027 412770026 263645985 713664662 571701446 230036548 623851826 925466364 999601345 289614975 501956766 848281403 349121616 505505373 683687209 396865650 907472725 431970416 749571468 607142321 210578319 145462839 863898907 464407876 850369330 285109759 685093223 934713156 945561088 827061982 151946219 640661769 983399119 539907656 347114450 507069894 885903744 470453098 225011742 664265134 345919754 343023113 867992395 478102114 986896017 127942543 839648742 408745310 112103434 592735965 717986397 312313255 285047237 315798319 367566306 372404520 172097289 728235821 892492416 494992876 217092105 278339671 952086699 496178316 177219013 538068105 437779024 288591066 135791283 568464350 198267167 103134407 711273685 558528963 928377926 902132575 956008655 235597407 357524063 648560111 320705229 681577883 425836970 411256367 799846086 350060690 231773172 500140610 483897945 787305975 252945291 543911189 485308174 787420837 444151522 636028603 544831666 323505760 937298489 427108685 352790779 397231094 137111906 157045313 919468151 794775125 926815178 452325645 786586229 428051041 731813502 659448706 788859172 355361776 248127204 360993213 428553031 173637353 979752956 450846056 134073306 882497881 234038969 781675360 747223902 300732975 889307019 392385306 691829857 752027319 280806966 494207335 954172666 271263522 941885291 636582115 613700616 426724795 250954411 961813947 429656428 947508806 673474691 217207823 611851901 955470231 698063180 247387923 107944233 452303112 213666236 878215176 863097446 357677858 839450281 367668652 422332059 154047975 586716940 470640651 845039497 309318042 577032593 706883659 717937983 587228728 654338947 213922419 845954773 315024112 746166970 389435880 429300386 248272222 353094947 833118095 491680461 920650327 681278985 769531125 503232306 799390844 487263207 139401849 778750600 522334238 125585152 822580055 520561782 997498078 556739332 395737492 383205161 502191270 167640957 343763283 560934141 427958136 560158865 157715078 121224899 977617241 560636406 127082338 674898746 629554898 617805304 952814788 732871013 764856627 591624422 503641657 851791580 283741299 449228517 619772678 433406523 979490186 559879236 635513814 807456800 651666709 674575444 266207287 226264295 607827286 875517830 875842021 986577414 992363869 441384817 478103835 109418150 424982823 172327902 633561916 640333347 397544010 203807750 448698823 666844307 373798014 678210879 676182528 235053291 670999663 634772030 295241319 599992313 803691732 404486520 750572145 232975026 438462880 596105954 728419232 390470060 956536798 323402045 800832782 720329345 598343099 812681478 612758038 179164094 536055544 513122832 711679307 370736015 707555418 294798117 840839697 169821457 700633324 349363095 632445929 510541406 414189039 583460721 109349580 390363154 441002539 754476559 619331204 488879567 176370620 467578896 653027267 593589385 706512751 254250170 623552260 669862347 882426111 473308959 813781973 960016666 465921351 734946779 283609363 951160272 108242502 676711204 110343057 503435233 893163319 733052941 802258802 447713131 350716208 790098880 125087452 266840509 202915790 400189693 613036233 241844781 120563068 618772452 317804728 112304008 145621579 514568364 563202934 636475627 487931928 132225443 576761765 780570170 413951790 966478042 991237690 908777647 978369167 452373822 377991111 480407380 295285270 718457815 710453548 458891664 460470661 512843984 689253756 139729796 857386592 901012640 343634093 563306064 927229425 480093276 905801579 693266967 720411746 381433771 581709164 451200309 967370889 246062657 180002652 360131261 516051708 162974963 598976429 163796240 993050872 771014315 543222632 219809155 480420199 184197329 372043601 211046229 440321848 531874130 485002403 309880554 634810136 769543427 812444557 987003222 194792102 553330258 981943792 279858488 572407720 872569323 203065458 578527631 514791584 626752697 584482695 504195593 791837020 399792791 374422913 531208144 778380281 637533488 346849516 996437959 253316853 362023391 742229583 894708306 311442228 930339515 303990281 603711272 397299256 267022346 112165074 209360227 467015454 967811958 350103191 985635835 512484955 822112818 847531002 821492081 780527045 557094473 685533155 989884521 884177644 947069776 147737810 491112597 705209523 941609871 937954852 678701549 664550674 299559615 606891562 649270400 459678621 396844342 701201700 964716235 369898184 336720913 880602207 524520087 945129739 579078430 801079973 743597716 449753477 764801954 243567531 701715957 599711532 290593314 591835644 877722448 585795544 567827845 367489623 610666310 937540566 510740493 971910494 938836077 691371216 326646430 862065233 302908578 851837613 655245493 471402747 207795465 472253467 890509955 600720165 822446398 898727070 248722302 619972195 452092908 568687375 454382760 556175434 606755024 358977824 721284139 846457358 318030083 466464054 776834348 402672197 562356019 745712083 462652960 493476326 650079736 336654093 553004677 656762111 944001342 667094554 641898829 961326387 949920173 229624824 397957765 762159470 384422775 843382654 332169464 553562904 658210556 550221168 843488146 744674383 904268960 588121029 701423702 979958448 476220521 996474568 540980915 836532695 230124451 310598518 729629879 585693311 782518902 631880084 844673566 281408058 371466976 462502985 219633504 850333800 681938499 299595421 745456462 625984475 774120857 641036435 263580273 193728642 881180278 363251186 433068322 211896495 140143001 982227730 708182415 258868989 237291143 916852050 274576724 132157577 434676441 471299678 445046824 486632317 203016301 657043636 909231176 322208804 795652451 894787111 855347670 911922992 496863287 251262454 854413327 346666586 817275370 149795761 818062444 208672393 703549691 743092582 711181950 322808380 995297741 652252400 664467945 176403003 224884426 505461084 668066885 872420696 164319543 229689193 743259454 879751395 626489008 626532998 526910599 996506859 431310118 335352589 121539683 205181782 455542056 947756106 456201520 779094305 307822826 543622134 476746193 887272976 263562538 640718196 823759952 940983845 464782998 563824062 784283644 885111060 606982409 395691737 746472717 374793284 759182758 398929839 269026831 687858751 705322300 570678413 349770871 358022506 228754920 446812055 530188821 635093862 312943914 717266082 251061983 558293927 899221399 916390614 171620805 871044225 743581700 456647418 360315061 959946382 253369395 547910443 756322330 734790038 482393560 304160665 157022744 273554570 108030735 180857605 556065146 902529129 176440672 654959849 632785689 633214299 643157454 304176317 848182067 295244077 712545886 323593785 572639335 929324942 347819427 560588659 548653561 749637197 498621493 442889827 835497285 235811733 482183454 510531440 283565777 684655494 965113848 371528666 393090250 690410465 846378074 155207575 464389089 269203929 821628509 905369673 738872767 293668769 907963688 406636271 680418836 507167931 875013182 286402871 767364012 310323210 214966949 618948104 371494275 686663583 210545303 646173236 593032923 740285737 165648229 666308628 167604734 117190945 815758596 480862605 393469073 191468559 917625673 291123889 389887563 892170280 895196493 378396363 807966037 297521060 963477470 141016616 490719367 377329272 235601714 543984200 976463973 562308632 676357802 284100561 781185535 729470302 539106400 507132813 777663510 253072646 435217389 140391500 292052888 112336763 211274312 936436442 914781520 241278798 858831414 542144567 288468284 480502544 190160711 744124659 590661868 724936803 264782974 772224379 882928596 412131973 640248759 899495660 952953482 884425429 646173342 864204452 100970305 857471440 955288499 254691942 966149740 237282009 785293872 809417373 944850363 755580508 105364239 784094004 710174432 689179002 842441919 263569907 551884428 560828629 132160010 405066464 615013072 767304296 463453438 308282015 660983151 337290974 120105786 551153180 241267131 351175875 326336821 194944024 430128065 926048740 309722893 925454235 484155377 857826260 381416942 251486515 854382451 135308519 434631706 612835878 866049249 736155465 549620129 523747993 136185713 233686306 615788242 333517724 517896928 379294403 762347374 869442552 540283539 512395071 700072228 764459827 886560894 273534689 705942458 417976318 584837095 325675185 443520503 604581327 247765501 365413108 360537073 475477245 635089926 287749232 457771769 196138744 677726214 346800927 611250829 454715825 574774854 978978615 513260342 336509433 164037637 297944224 982945416 415992864 260842742 729044059 474907700 259757464 985252955 745521943 563115083 315438693 466021342 496821803 923039436 612610957 455933103 667925248 289502658 377256333 440165804 480052361 815871812 215673950 665971546 710316733 315394116 966616180 527715713 268515710 963072525 750525157 978200076 999400292 627180095 457702552 277701844 433099252 914634419 246849199 665231578 172743517 460609069 489122038 728929066 563091974 339072222 921520622 254882673 265665049 176602865 761960530 412647247 758264075 142609487 160364323 923191626 983115942 370699959 330912679 887478856 376852372 892563920 211933643 691753471 440411266 177723452 201408656 407827692 540673270 599562027 443573024 280210421 392974750 782968994 748858191 411022807 943750551 521410487 641573082 119665670 889029834 449082120 723513786 162549642 400936164 523350754 179096441 714135803 787808973 336370183 795156050 477473723 289622871 656277115 756290163 967454763 153852913 485329756 242988715 838757996 910402871 659017613 876298368 504685128 330690155 851433676 591343743 951957175 295820521 528792491 721079335 770892040 520515168 670441899 116509633 326821364 269855734 840227390 220964333 756116995 639506026 963163994 473986414 654662832 878700624 282103949 437993131 566968845 970117389 553675588 880065930 887465765 750853221 245152310 662445050 210435993 458357629 725518479 975707535 980381426 774284192 183571206 378987395 340461318 594783501 530775148 195017844 467434406 527222850 734787829 875161814 320917042 957622665 487582630 213123572 121290722 169822496 149181488 248236396 536116487 349768535 189095920 613698232 301316675 776966369 842201295 707149684 225429877 308705654 507028208 728323718 153321850 518371159 657033411 319017153 107599270 791296927 724155811 836794746 362361131 846046502 273931745 498783079 655717877 853023632 953569773 374510860 178274130 245289689 639896250 395884086 731684008 908860816 480740892 315340179 883561282 804645577 892995154 572964693 520038885 123197572 619130893 199351491 813891167 695835640 754090082 963352227 398714885 855242888 995535594 317767733 374194879 469961601 658680999 564125442 368706191 618495034 452439464 997650411 375712707 188706686 728194999 773094954 755895229 897714711 126727729 128881425 179543654 285072115 916007110 457120114 332991508 972086012 904234906 904401141 906610428 705168298 592737054 686977713 244393568 521188919 660772853 580813735 122098946 797258848 875841809 432610024 663201366 324052227 923996797 670751941 657316848 633802244 344785742 598213754 372806324 705279088 896821716 620609131 113084732 301290439 317492500 549632674 231978872 833532301 494100396 515953325 134015351 196988222 681811344 432344271 483084293 577822828 781868880 107489204 746220216 241904285 395884564 601258767 727090303 161291890 753826474 327745875 743492336 815026774 812366918 537581107 807798721 758863164 949248930 761841827 335084319 142437253 595716065 698922777 250497022 222900592 560421183 765866528 545988961 617718982 802353170 940252559 384066392 847792963 695061347 379120852 638927567 205126060 602097479 186752608 764300320 235945392 496922018 568656153 599828655 135301611 288319871 242665930 828395588 499405688 773695270 344765937 495959122 508812722 124474561 107530232 613950440 890905048 700483206 390299399 567651553 958144995 126449668 552872500 467337894 681541574 398503705 236469368 304919038 775215756 882707452 808716834 430354085 623498848 107548271 599252702 792642405 846086417 621271436 495459457 793732426 808371297 311527882 495714786 268632311 395448706 727854036 747332096 142745266 392439392 957101265 686851767 497655700 152896271 899422644 508949875 335068349 432838611 599386393 861399884 691734002 950267960 454175298 967543994 663016795 493943580 693416254 417298351 711722345 212473412 960835644 787071898 641553957 970576598 220925875 137125215 454720619 466534837 382680718 195592116 195491798 250221372 450020754 303678298 795365652 833211774 459775346 444547393 759489042 943375389 309303964 815589131 102188255 807336448 190923250 846330187 960113621 868499250 588661338 522354454 573544870 209079152 283531157 835684721 331127475 615835246 852533601 145007916 371469214 963047228 151492094 736183531 666616112 479431001 966384379 314105312 588015194 905567085 769850579 775808183 905283973 841084244 811956031 673348720 304306483 522141906 787411957 250293044 522619990 846741998 233154225 290437859 776216155 797581854 383217876 791835382 104250475 348456431 277738382 999636066 397851072 248081362 765206366 331693191 943557616 897475120 330494194 524672726 818827944 897027373 654006950 846992094 697698640 307355886 423213367 357677273 602669946 445915840 639020800 450970531 672014474 837338305 596631932 279520057 463529032 997000736 816319476 712931961 191732477 415256052 696520913 969381755 582081575 869912663 753715839 911923913 536954609 959139951 524169808 769155466 927010812 852902834 804839670 565567121 656298486 623829410 493743038 282323390 452655414 844512897 883545163 272934156 497576047 335949115 757282523 437556377 649259987 493430452 136451321 952713534 606178301 624164064 699858870 783536319 511302031 225558850 617764736 901707805 548633489 685660768 912695939 100781046 521387239 563073888 166723243 696365818 712202211 874389709 102402107 720034892 491072304 934167385 974012186 815856092 943890126 405564549 596406091 686230283 116903890 763025196 835436033 534562248 573705495 340952004 291472879 302151704 515640964 210643747 630449398 885447630 210756660 701077010 243048927 248544859 217850800 798805224 277288659 511048605 185654695 661035004 966173670 385709173 449199045 276791114 727865765 169938737 779578709 208287925 559900509 651491091 661823639 924372496 690274999 578570339 734415345 952785316 540192149 533052106 958477353 322495078 151735445 100804238 499931844 322941640 805145322 188947508 802107300 963131469 222294353 287642296 618009042 353169493 930528693 385614683 473005404 329348143 834285031 452353730 565679159 401594321 671950174 764397241 892886244 745176629 713503130 919043519 507859360 423486650 263716956 835801232 869495617 732516786 503591882 669112036 375534261 260271322 956057657 264326618 821761934 143495595 323600336 804194722 914419934 312710563 239405161 677755419 313303498 645288393 225501042 663659411 648057991 554190747 520195409 514439871 599049782 215965810 984236524 109436308 885024258 104760247 674749013 130926717 662866920 773362980 139141820 624367439 461341498 133348963 868819935 523949034 774673822 933140903 131645805 434483099 442076616 962786047 207340443 735364804 120357682 331709622 284841493 299902016 895620825 102739266 204201272 192648612 100600338 578907297 112899106 551544858 612726729 947640764 702836919 781855191 350622210 275255573 695387556 600206691 677620426 640275081 179151924 953610597 579709778 362792852 556860911 259044978 203918237 846590493 289101023 266559619 931757373 537594271 796015210 529989708 652714418 876258065 994737184 619402222 279307439 937469765 626150196 470173972 430964858 335472502 629892730 816480303 783619381 339262656 385945443 289539467 813799714 619786535 910204166 418629705 294945696 211159915 345422231 259783542 797331386 847235236 845579615 785244277 524010744 202485413 671637099 881705003 262265927 537719012 331092921 889812562 752169510 438042677 324200750 786898072 347274901 503422810 800115263 544775641 812588375 468134534 818469953 734980009 250141923 768583872 128244619 489616944 753917588 945954592 536276971 812347620 707270038 732609608 551031532 906327441 728236128 340040291 921917241 466850352 563928208 444503413 171395897 179026721 782918377 479948067 763462741 254439117 699218823 360669653 845845508 606352029 943093408 101221792 161498771 263721446 297465265 426658573 344895154 271096749 522981576 193306856 474128247 611005295 881952580 998537820 875272485 729446233 327598467 873088035 127000321 513003846 305574268 139600427 635670427 678748135 182929118 472999424 702597425 757170506 843112961 168827623 667920422 560529214 785310095 571677436 544024214 489933713 881209041 916652596 863855843 681533767 982133077 123353328 664081606 423794112 515943767 950448525 199400981 325220502 175278908 752583718 480042289 699456446 786764378 288800635 300346310 594374642 688221836 855300703 901465399 131123103 916166164 379959873 426748279 276155684 893916978 189047012 331954848 975250302 704040752 112562969 142153545 607943785 657552647 948367072 375767447 375132163 371218187 530607842 495717929 164343473 564746860 848375270 583987089 921541621 375345291 551791053 540591872 233049252 698731821 766352226 732672149 806751663 810360247 375945002 866432309 801477472 249970265 956935318 481666295 647466862 507413023 434156358 336040486 233215323 121829769 727651870 678582944 521171182 372585827 141297787 436415476 263125447 516807099 589490921 926463601 567283140 630337633 438276978 160777741 604727852 615399051 282602847 566523044 904979862 752163418 400630571 712026450 629243304 113238463 706372501 508675631 798158283 501219944 101678595 939734315 168212050 574557599 971907295 221377152 420718205 723373429 585622888 810349592 520371677 903652240 472005097 793140394 964348399 794097805 717858772 128745317 280759945 235247048 267670502 651646393 462391432 844590471 761970170 233571262 588982442 825033674 453016204 724093210 667727712 716491133 263220016 940655863 411668302 854146688 773358584 357278116 709108759 553177992 576316719 925969970 721461848 300331470 392292303 161273597 644153610 516407931 299039057 967488783 891403552 188499809 742496591 704155432 293248789 906904449 672762446 137590736 965191439 574818622 604528397 597538120 714728751 922604977 386277974 505464439 229963564 173152779 691093943 417519540 978368216 515695489 938565048 269457338 286773258 585119382 276647867 923952806 154790730 229161959 713487070 262259175 403056884 356867981 571144888 287445651 230231175 329596265 447306580 509794808 151351148 478700141 341837994 293939409 998913624 534239422 829690315 311235112 194132642 550947616 425762567 983563125 162352958 774457843 725047633 121271594 749870531 781268691 569175390 861517253 747264341 630543334 928794911 862383879 423183640 523485722 278251154 907314706 234402699 526806809 153032450 527810073 509855064 168445228 375741714 627588685 114977001 765815030 437852917 478789226 950777281 809511288 792092007 184985718 567310881 409623993 306318266 328661007 269497270 269445330 837723847 936331708 619341054 469803943 683517879 554621628 484057287 848934364 241434152 972255655 916268535 357978960 882718800 946244316 362879301 684346419 600625467 589978985 799188338 689221747 894523185 631789750 164835276 255803382 962663705 142885299 648060203 531158615 916491719 308215289 842169015 153120194 684705008 814978627 376650283 595387113 174318292 454090863 894604747 338278246 493619690 319598843 930195939 695405256 570822382 486908702 261273283 686746359 782087187 284075942 494157662 751032143 404971320 890536356 129650700 134439664 119850636 133265397 729310274 571727609 695951720 667221991 720499649 764392127 994871610 172373224 994708264 111788492 313891168 495100544 318391740 810054815 258467831 270046204 328044388 809825223 157631561 136225917 131992083 643044748 573051582 521987838 266735888 959321375 312554003 907000289 743868907 427915864 336723169 631266801 470949250 173510724 999808093 943826213 287711383 401838438 213560835 284485619 489734838 862181768 969682317 111286844 338186918 428807738 995336291 134785371 475718287 196508812 503217773 813420167 934167178 199687478 237070818 861514960 386299352 961721817 591003140 552860504 483900111 746890999 333769492 369070383 720386874 227593984 576659416 115943900 301950444 189518994 141390876 580504793 594672537 225990120 391545707 682153177 389379058 139673762 706789576 603773041 919894375 393804500 914359312 355105379 267003343 867272216 227209450 159251507 435339209 594636379 837315898 650232065 703699747 276154434 211653101 623566448 953404843 512733411 132482016 913979826 880136229 773263008 482236114 621188842 662477807 672418750 184964293 436092230 705989748 542657398 197934288 683771570 624777325 453790872 147324310 532322396 684063224 961515559 164776971 216850967 269095044 182249699 396617393 513959006 604477530 930406482 347468659 194038996 945904188 795965684 438485820 940532524 156172565 289012315 253470690 847997085 746823400 899113725 775560360 293517301 732757193 835426464 449802364 419682599 761712510 841043283 649066929 448323939 522819586 758888603 143026881 633302295 486231998 366336862 837198083 498266581 661642211 847897518 216707830 269255344 967460412 386918879 106171820 852090304 227666552 456829976 976583043 219554618 151931167 112482071 974905948 656642947 986973262 328674162 646112435 715906137 333498498 542444048 966245600 566026619 497185025 181775415 886107802 376430892 399742349 228159939 289748340 796414776 825909447 581088141 716580042 460205404 944906816 620947328 874330870 544709783 562887512 178237237 409828507 749893291 269836802 152732393 669470516 800288370 538469679 961750234 267609637 382388831 810918214 998899875 639922276 906621631 396141748 395572824 363653686 269677517 283185333 898872107 984789206 166393992 334322704 481747403 586076961 413311417 358644146 179693281 859663833 771667084 158376968 549626745 101336697 358911314 582550568 621867028 695770553 934538306 726886925 950220135 497870407 121956647 986898284 872512697 137366543 131283488 692893925 934182619 444630172 418232822 214424330 410507372 562813778 565081299 908706104 177717398 114544533 624238952 959305530 344474414 218167941 646612189 938973538 403413981 797703629 379592253 760163439 127373597 759486054 404087303 842763496 464266379 543254726 756581713 267296927 238761667 386012959 140506953 760551819 569193281 861570269 686100247 589392241 352504798 242739940 187931160 307296395 644393263 266430762 821913958 732667310 354729480 614784720 570182483 147143684 670674494 892792623 526317293 182035600 383052767 713741484 820255465 658799865 643296946 996825232 164315844 498320375 404826810 194374023 241920206 821617873 552049707 634628718 652875704 821161035 573097374 542566060 208890637 481032772 478356421 270453151 166132575 681811253 398635619 832458399 155566133 360859254 473448154 237152160 211323913 918978737 886458869 627069441 111906994 370237181 760451056 321867941 549748700 877092183 721175613 777035167 130217166 364020238 790545836 392702009 995493779 866527063 300535215 673713492 251112097 591062955 511593426 621837963 850982790 300576278 941008367 725859992 874897072 429048330 152873649 359652386 703401629 272674003 896420840 707434891 805514841 569935705 251479979 538696716 249919340 623637802 195203369 699251363 889096562 975528165 987962510 888619882 239148977 491054199 589840877 489223509 859065509 500611365 897849648 268832634 721759348 235562392 881245531 964571603 315086682 546456584 584378100 899034653 205568899 554346135 155472450 656580607 822199346 948419781 619963369 465534628 325730932 901491879 217191663 132964099 538997151 146965596 882330295 981106734 606091162 776155064 996737326 364204235 332021347 220125924 615580139 282747934 779211139 785948524 138687337 292668936 581579429 521672068 587582074 798006795 321079764 318799311 589881769 415806251 317880611 205010960 977081221 304115868 120190247 892437337 328205445 969200882 611118723 675604589 145233614 705404977 761164690 563653931 473627270 299359936 546938867 230068721 528790382 590213652 756920678 342987941 679915166 310964715 519260359 441472249 871336049 107628274 210243690 515926867 790572526 453264586 533398765 109135831 135939056 755431006 250925439 436517279 431679621 133004810 666163631 277718081 869543923 891667973 559401288 931845968 555964234 669340348 842724984 463292615 487232637 223816150 406523715 931711771 233105390 209526290 485987047 638122579 704466835 573717733 417650434 308446472 197651190 907362875 448661378 255228990 600187073 380891579 759185842 100915641 684201475 824927275 807793734 144678090 525961313 999151860 321029211 374186043 958958122 293696024 207444694 242203800 406651282 769102779 587908653 469030724 751105453 608454830 576251609 540526754 167847589 253581737 615793116 795968113 392973147 377611897 410255211 701155520 976574806 816872802 851206937 802116448 516059619 195246965 700268868 136103880 570152301 869488053 516672762 512954611 108137603 350724941 278126981 648695309 844918698 880339868 785081300 317028563 503656027 589954038 944690340 482989513 551410849 800144139 568724613 480301834 445511165 252857169 168117829 626666775 830619501 797195875 451793972 154304225 940954688 549784711 844297141 171638006 266340657 632580181 422580016 880224704 375591118 219711494 782231959 105124046 626095078 190287331 413740609 433752925 479149368 655033192 526237542 905214087 814804066 937964264 984642978 953947363 967866890 231221141 300494316 930690837 194854309 685047010 648064611 460501288 920739598 241221476 542345463 768662633 374242299 399412020 920571067 537763092 235764857 297150783 943592551 670610408 132488164 327159219 648034570 189278970 819590314 192805674 297618636 292086973 384430070 356229128 695372188 765751257 280667077 690220105 106794412 199072614 578852881 150891594 112010569 348525046 551546091 552781505 412096489 861239968 172728184 835747326 152440022 532008006 579572084 691315546 206128487 319260790 661187509 924747717 372327263 202128324 513392295 401514161 313051018 569368913 604287098 853849142 108221339 840418494 145014613 691536211 799598463 456974189 388646039 311005319 880294955 684633816 883857363 948462926 159070052 548997074 746310309 840288533 223456063 426036559 337617184 137654719 515350676 830331431 689059300 193640427 467244189 257710401 185770186 539976503 326955391 157851552 512251676 313799387 269164704 177120397 979966354 876746805 260284740 369089362 423549606 757339447 545791927 235473386 662613987 866060085 140955573 529684518 899941739 329545075 314879753 567639752 893578750 989530227 783539423 127669156 676199020 124033476 198669128 129194329 827591000 628507518 707148105 384595443 647004683 436947353 437963113 560842164 738044947 206222345 667090082 512246890 858450765 281680039 681952181 275487569 460383819 644885623 784325315 557777204 617584550 583041316 358370907 508569446 703127152 330861017 154948116 190732283 348679426 359226982 576625087 525043468 181460265 512331647 982788096 189691980 688259543 382367804 191677741 710214814 445978866 265647390 452738059 892302549 530121566 853562135 363058957 683367496 657801658 369568795 974956060 521124846 304451599 821250794 378773214 328422062 848018189 775822204 586905305 148010760 299725017 956175637 691566380 872280676 233442403 681532513 220716239 696890333 406427133 227060292 415615845 181928646 987901968 879028730 680072188 117091770 901275819 830156566 972669679 877003386 486078323 343520814 857166050 260116850 371663219 209716765 131292294 786359998 374415262 831089959 757657735 572123215 825963075 943159820 317074052 308214146 404529211 504197266 715664820 502506741 179859138 845045806 689468240 597231798 921002033 474882654 379580695 843966856 538396576 569762496 138620685 120348669 303510679 475372527 951201566 636922402 989280644 134231930 376854260 184253411 822922546 709436220 539685195 949176614 790193191 184166333 776371655 497828574 133397886 668497831 917372857 387138840 209311425 767111699 535992509 752479474 670642476 839477321 479707920 503902419 586207832 647552680 840266307 724722185 870187819 306696486 621928717 815496741 441869509 114674991 105288711 625712554 223890973 566083809 830428916 113398755 318102876 102433615 599698850 414996674 930372365 989845983 964986884 272001020 913854007 654848208 285817088 302715812 296033206 848993615 211006850 373469909 543223824 321770762 244309332 552917780 484965646 487176648 354057000 540160430 887014894 713939447 617720854 138518984 975500305 278552073 246186135 123531485 685097567 844483079 196962961 685105953 354322900 704127398 166881051 571349313 309656559 418130863 578829252 184943558 483074140 347204832 795739959 902396376 786996705 313421855 764368015 303030702 385364036 568680880 597945731 911299160 383720416 372627208 512524685 934860457 559644843 574847947 257045481 301670169 765721000 375746261 493457221 315871084 732501518 782267137 309068635 386423398 123751033 905457681 231733705 934656695 604544455 414767855 198573309 311905091 885244211 867087731 188221022 189781343 248109901 376124177 698984843 174834159 406731962 977366331 543654637 532182750 107572393 411410240 321492101 743782808 308042117 893820186 195523387 281048073 826649940 966003549 462186534 542324470 636385655 569901937 830101395 447515053 346695176 649657357 711548943 319619292 545634132 982469008 867642759 918204150 357635540 308852074 249359246 978517395 690483804 404367486 815561112 769610075 434797756 375311420 522545603 891500274 303655172 884935908 642570675 816367069 503511518 224815762 322857544 863827261 957557716 857448504 356392661 867160597 835312530 958965494 638051728 170377243 246217089 444654693 770085619 821955179 745358848 950761958 541767445 375773878 658071562 359025345 145729105 411797415 876096536 234283848 314708794 808132705 672957777 279853230 453710602 564464763 158399312 602489251 100095134 442005264 418591600 268739644 868487309 786050632 878234377 474914465 484017006 577059831 255364158 125019223 325875958 669198115 571423054 399128211 958415704 389684598 555581798 878110311 438736677 776940880 792877407 668768410 885341223 910924303 966450321 646007104 825519194 391773758 340341577 213578754 206688029 827141740 371180097 944656830 163286131 653853814 675866556 704493189 986088758 683602733 945200154 973885362 584103336 164435683 278249342 404193545 870479937 305660343 635321704 107253883 943311975 378613526 267188021 723941604 616733476 568779945 458222710 604243735 302732308 797400282 620916784 745405697 973523047 127928869 633219152 240509633 747176408 407653891 400552289 126065252 973357234 568971031 149048410 150514426 557538288 494352554 566894472 526710500 508448944 899746780 294732513 715583501 294992890 988278433 285304141 756036573 356343584 493055768 962379344 798458470 362012774 499368415 363689917 997160466 807220622 167525786 294783247 543016361 951539905 154455933 348552758 931595194 133500588 290389945 323810749 702949252 717303339 580422742 516100671 775531923 553521730 432024509 841489208 523607049 991036729 133731505 107020891 543659629 609139629 820913880 863656169 521671089 101673492 347427439 675948518 416025724 149447243 749053295 645408710 466525138 290021610 260679512 101563865 324082184 228025582 104795257 420132697 591070350 418763009 779762904 259379499 372186023 710605762 252505121 310282241 796092848 962173049 634826993 378711909 626800385 316000201 389490287 399442423 314756875 909520720 893749053 556805584 532349048 604282674 533362121 339358531 382437642 883000083 423773785 779522529 815594991 699873443 915195397 525378853 880711274 440762974 771111965 168483367 842723592 517566934 678984231 105408726 460337634 936622192 417844140 210308333 521601599 591700794 234320311 279883381 726548309 943714304 266199282 146657423 483045792 403390815 875434456 137976370 546452166 586516669 982290409 683095686 375481644 764223252 943973475 696667786 755169461 370055841 841689358 734696392 460161363 380244351 466506012 813347177 409838205 681202978 591546433 813970392 445850569 218960765 669364941 733847416 713391862 214506547 441790212 291110918 749049921 102364945 557207219 429684422 685347998 960183498 356853471 994158645 402791963 226988952 382003886 404196803 105391951 871562283 814262047 497672348 376662961 634405061 427855587 934457552 848548664 847598080 565755235 933394326 944540628 147548478 560200647 623646623 621758215 517807209 621054964 289715136 805082981 641592123 332137664 681577119 893960171 263538755 269571594 368683231 321782446 366283554 492976324 116981618 794567843 410780297 726315030 351539672 870665578 218365478 207706870 546331977 435262625 222701413 350294384 301888576 572346350 208907979 634314051 399489918 167596156 989103794 144937073 802151123 916017529 323670137 752168212 293168058 360368781 252249584 879149433 886440169 366781907 178457365 824528904 308951311 631735977 407368823 766358054 372536854 391027686 797339482 918562487 666516766 792192613 584222698 405760936 492537781 377398856 441253412 536815926 435537056 488719107 835025709 854094776 111235911 830460590 850211435 769652697 427403972 428747848 816353040 245666210 181870695 562149343 285928296 583855819 343584925 279294085 412567389 803872099 612396993 740210411 686835809 649027503 278256495 586958907 736662953 278524439 255421892 547606840 496785307 373686636 946745075 445492424 986061997 530926489 813287950 308515893 586440142 661289343 958652723 540855308 842333090 290124530 354253510 316101917 499842750 159731616 164082574 395684002 572917215 967878611 812364971 831245176 234366801 217225163 120757256 819835546 892908323 673906713 325140818 883263384 635485669 859425568 468736800 622820772 908820377 905372044 440420559 419574313 469002293 921838328 399410789 648105901 337366521 117343224 660969749 523081863 220971856 684922081 335739528 945178994 967347127 603252095 565560024 467783722 364179201 728294639 197454920 408493692 550916139 193181970 783923318 381350467 395381803 113278682 207974891 890923160 203313124 919069849 658218255 266667414 392971879 752000072 983969117 375093358 362029404 555347898 553659194 766923642 253148334 698120777 279931789 583585156 161555471 596584567 938026480 120847190 296192694 249040661 696923530 958148661 971002273 831947567 135125239 303839310 847282289 310817595 904952826 546855745 915942351 845153173 655555760 464431831 760748472 525489359 909869334 482538756 968815406 476362418 407539940 225975369 399856263 330420413 451369742 691712396 442441015 937880262 582625973 674373412 132893744 837235874 160433005 798254387 268827876 115544742 625251024 394191982 739849826 907331515 498740836 974461150 779048398 560471891 649962064 682490585 462927500 713622484 453290372 348565858 464312270 323379522 491214171 524636837 971908996 369150746 522106046 831982636 563522499 653032185 357333666 742676554 933007188 395690739 348977643 882120471 624883839 819937883 901904923 452273841 532959192 554482136 196312676 533285985 136715051 257224700 909636538 900155275 219787476 172971104 486920540 865775362 967923022 195474456 647240130 599798651 171595825 334311956 631624888 712922774 781747223 892304379 269398775 370627971 270472008 349604785 447686797 804202048 858072929 556736113 881555769 362445090 751732443 486887233 717786446 671135442 853295962 141646456 694867676 221467877 643132507 104075278 479420287 138444093 893724399 875578143 439429381 237210080 457720555 941209992 523554643 744947168 915631048 870873046 692116264 403066959 899150582 757243487 114202438 107504058 683243144 472739171 449750719 829691449 313284765 590305193 221560039 623881965 703165171 474257258 980775448 623767160 176676457 406523382 953628000 384981363 978265563 974326588 725631550 130929257 830573881 697469674 902790693 785545481 587548577 975959747 124434899 817932370 890947379 535338417 899013697 986499226 825103584 757844352 254869291 257039217 274202442 721967671 196747713 533501439 509090380 723183340 979801765 846741213 498972847 170239088 519350380 361494263 687939476 570554491 719403479 682560703 293042320 930369024 352005189 297343359 934577929 451940668 143029965 774716808 227959946 793824601 662435601 228658214 538527985 870204812 674588052 930810478 939436066 422955434 226398507 392350517 603688591 326537844 840015515 202212093 357940587 696435380 118371468 178239077 153016883 134287587 996919865 270322057 364673787 844316928 158923015 324689087 636795858 374905886 876660041 779795349 739871382 866999606 749577187 480137805 144979113 365370418 101470582 320169844 888821942 709814667 941949325 127176404 399198180 305031155 646646478 627133673 314504439 134644805 785161080 143666819 415728245 431935237 639614643 403713459 996666412 932363103 827449452 685463327 201855921 581583115 354310071 791065259 248429247 129332624 941446135 414475445 220238366 923070075 510257901 485265018 305003071 732299254 615813889 640639672 284612387 878608398 444827666 298857877 506213932 244760885 257381103 763875159 429794996 145774582 421687026 870175247 555288971 389761794 617289738 541807342 927686835 973743820 729570466 715848646 480777566 242071090 767146685 659495644 389742767 106199414 248518569 180980520 503081903 304145682 313557630 134482641 709346970 423251079 282216632 257864224 337003931 912734978 954446581 493964853 978243167 147422358 393552938 868701287 556274311 701143924 865967882 899719959 299890566 322312820 111780679 399231493 534892299 576836982 266152759 928021060 875980838 392186947 603812189 450429009 697223594 321656726 183454780 265047257 251756822 234909825 805371712 180386715 138059032 127366406 440359940 449934782 720229864 434695370 230469793 484514231 802119675 418026100 590839582 234042520 812976475 822927220 788030623 644851669 385126117 213009420 105987479 987795074 694655319 253359773 992160806 515086789 345855783 229355910 263197333 274508040 471404819 858764793 638051182 661984762 355295945 564600516 519648396 179442978 694584503 137279407 531534948 693208821 178873476 205649034 758783093 369826375 989092793 547341238 656582444 635811888 956983061 838812459 255764264 137559313 783849570 529773955 937932850 643847820 234949364 100210880 260212445 385171731 788746924 762874413 431047944 230503812 172621238 597269574 564619824 830585982 897180935 903190575 786163125 367524757 757757782 552683657 607239918 232131972 976375405 233487865 519501408 554265167 271821910 274310107 429379291 118063624 478435434 962285005 139429192 819198239 523567666 785364019 402562715 124951300 234746003 870889136 483926326 636258376 178080329 256882300 198480219 175840967 815877485 241297180 853680261 444736520 203223054 815315019 946380122 959970282 125416824 762496131 459093859 649999851 802603087 540297028 771495693 374148535 139688528 554110276 328286844 234887227 632628821 756050365 713405139 139041908 856546205 218700681 965386747 385472883 989071457 996867838 205490600 441686496 897097438 152726052 873615408 214021635 156341157 101812293 841083909 756451297 117084984 499429245 754499097 765883499 194154704 505730866 758473500 634455907 185881632 391555846 759026003 153615510 176836719 571879677 246067036 149520811 567813004 490985932 838510698 744082938 123499942 534638711 881233190 120899836 335724598 565597196 408441609 639282350 583947502 840196831 700663832 115545387 990943316 516521467 273297516 154119969 719745198 334912716 125064401 651280222 507528086 603201226 457662097 680268915 580984607 293661171 469296660 655056547 893566190 830560962 297748064 619978741 845571897 866309579 858969508 952155399 306859087 785081046 386064895 992634000 311258062 357053217 853059153 717975066 335462894 305998179 597020209 702419548 845917524 564766310 634696542 128050787 541789657 809719420 111979068 806786932 482039188 125795798 821366883 139256534 648061132 767614020 510462793 816451822 850522076 501826121 701792244 523082366 127794840 257979978 575139102 401663996 600481546 914552188 885810350 135467831 157906753 891246494 508872088 790589757 887859227 412859876 813202838 217718798 785818577 718739497 137994058 248642786 380323782 618586677 854992084 887475236 758665213 649162967 564434514 775656685 832062949 607225020 665414866 965310654 152168752 525063754 728281099 385198391 768687686 783403251 747318376 357669909 738487341 566799718 394005889 534934952 970029656 413221103 918656885 349790647 673443602 185458300 424110588 493165320 954045527 273024727 836798272 370025645 756559027 756698317 135293994 594827741 491173032 336631501 734514805 673452392 274577541 886476757 471380660 119211791 714091469 160572487 630458532 233628903 914245886 753699272 990114974 582076958 989217766 344517264 721221381 536502209 525741864 683918859 839845765 710406627 659226231 700082917 737983240 904631233 992825584 839470821 243740774 194976550 611710015 814431581 260708924 959437327 892152950 426532200 283247223 207473486 432020071 209661243 306790486 596329859 427351431 285599258 710914645 165698265 596125896 542607997 669575340 975038016 770741116 461386840 969845983 295704990 126853263 932113991 610103046 762145950 153211987 845752733 444733470 655338227 571100456 209532124 125262801 239297193 496834997 159714779 801919240 326877639 374469821 654940285 848577083 311588301 538073380 536210322 746712647 629832684 957324504 861299362 187340538 288208260 956008101 146481934 632751608 751459333 767116880 740680494 768044436 549585897 528852205 212687754 690843189 705652840 662449839 276445705 532874886 902671309 394208344 825306050 966803777 632636765 239008233 267094927 227693347 840192945 986277297 461589741 478650780 286057438 980927760 764316896 851951832 197574790 704405487 927193325 371398203 612216345 517614423 739366984 691324266 511542858 177947139 373114988 160602433 383497167 916921711 847403305 635227185 655776464 426897005 850386562 809438857 458999152 622472541 969702290 618240689 596038427 844254859 513312876 489690221 931302214 501433636 993470068 744963500 259921129 374352302 986075978 939107274 945095872 859653933 641943774 826466526 811691443 761186371 344692641 616099577 253730489 903716050 342417184 441868386 352130739 623946372 890204514 704495914 973289526 347478368 724527533 881560340 122263074 364700923 803172302 811427077 655817234 779509728 748182223 411891793 351170118 789214764 555480251 499226673 484594056 167284061 654387506 467821527 427213682 149171513 932415516 458769501 530148491 912114669 547021707 336730991 332015227 283507363 622199866 118379105 616960199 860309579 285296346 850994915 965305490 764188619 150475143 259891844 906348747 627067574 485852148 381598790 955181875 133998229 498868287 736934298 165483169 146383547 349246080 226892669 875251157 669527384 763481976 794398465 230983743 872837614 132052219 646375088 990105683 598257456 815843010 552440545 332844179 736093556 963686074 599426042 963385923 771872651 542912056 755622030 734019369 548512705 737815534 570603599 528743158 706869716 178387230 936369467 386707942 589549562 583271662 213981346 919395856 829728257 104183329 726521384 599357046 707093165 386817726 147265782 360201190 916751453 905325487 655901759 744988084 776341649 797747431 630271185 755065589 652499829 326017595 135777965 694733381 644961903 689925101 529630611 311222400 123537585 757142185 955206801 721499535 977580539 644244391 917229736 396868537 971242598 185431618 420600977 147986255 596404588 494688462 696410336 118533674 771874365 553540226 281512021 113446474 591615932 894633451 887283800 866624977 886932635 443182125 756839112 487341058 287590852 642703378 225511673 415171504 864567079 471075900 295552335 838909857 894829088 381048480 106297896 640135149 555927797 254151719 591666107 869123321 885916871 502323255 661421449 775108664 846121821 772920653 689130625 674956174 769599638 558786965 137762925 141480227 435072030 494467043 393899939 898988945 526534712 810152306 835306912 738735387 965388107 546689259 174687251 583379881 538848877 504752663 400614906 273484671 350021753 936038950 545605566 908356300 723578327 170819786 723712669 973506615 125665390 397906949 935887945 808522248 194195433 437324572 816856072 445037256 811697711 235906127 140988543 630563739 416186873 274845872 537169255 813514942 506250138 203942943 281592096 763700030 943058455 504691230 629241481 369901930 779892464 362513860 231505405 733082160 722459427 901127472 963993528 707037822 563632136 886757393 208860897 230448543 718700614 238131267 825140708 823578152 167243555 575550576 661238005 359042055 296935133 613105812 825798654 491086797 221634596 798415228 686849116 331375933 113175686 668572237 116120599 508110002 405936761 764878650 306626362 276417324 874222478 465892617 386322010 779385143 572951713 677015134 784212023 938967110 504210501 647004384 373276538 501328071 295834984 725098290 618127483 307879284 169684478 180739396 997071336 615680424 392487936 292804837 833669202 649108577 480105263 748957700 924492597 971705549 819893617 743534475 561576792 185988525 197168054 777034324 769950135 559540670 838859940 669090061 914121675 926645056 819159732 913174290 613712895 471538739 130336812 949020514 232687136 326458334 883074850 920739318 802275792 820735882 764596389 855274260 221428123 559820875 904974329 965097695 967758215 764315537 559730787 447765977 499661991 611935170 555563108 813759496 956944895 810251360 331150493 354561181 236703083 182474111 991343881 781519020 823324492 118369491 126429619 788273061 576334288 625975762 484320293 295141580 471102346 655837653 205518021 398755502 237780872 904361841 576211301 679548026 714635615 755650968 475182471 346161150 645379609 651870045 896696767 236258849 802032986 872048889 693793139 800961041 904021940 605757381 395394487 734746817 972725455 503664298 634772249 105215972 814881566 510420162 810256871 537714995 319759039 674786365 466395130 249546045 491798746 828139806 790521023 352709104 828040974 732718281 689609216 893575926 180331333 276111492 864925827 810590571 192418859 342471254 333124942 160296678 624208561 953188510 366817195 241058292 510429606 694314399 171459958 105323890 775860131 272922860 100674655 527660129 419327633 849335850 713650695 540771832 587592544 152706485 267439388 320169841 569042934 240014651 990671687 659291531 959128683 773370352 755730037 315065421 823241877 664299628 817184514 619708144 366968954 377175749 492221298 242072239 837224639 924974863 795291680 643745403 893630883 754277527 775370585 196178693 783299766 436685151 611757330 782562619 545760219 331991049 771019059 621733589 144606066 431565117 849551221 404493378 130932804 380665440 320418407 648031421 445689261 865720836 395723497 314672763 782013342 545756729 809362821 593553725 936075668 199814780 834413693 910259932 921697295 911372816 114906521 743610142 952233647 550675715 293338678 657138980 844535631 374283338 705356323 984520976 352732204 757237988 813202989 175127400 997999625 996059728 809769673 881177352 282310655 639225026 411884416 656778307 974819861 851452504 246221250 591645342 340264135 245994129 939903244 179928902 631275054 507487615 283405376 514557624 236722059 976855967 848450973 430352389 888055100 639555324 495566248 698914234 146405095 311650609 602243148 931330052 887995618 252767125 632995333 410333624 453475710 485975140 242370437 216282109 727718117 333560004 147031888 283426493 481144009 399490122 510932317 815151602 948840497 837707504 825233018 172008391 271027083 666187021 292029402 942565252 539020132 545520478 183758431 298206731 415584718 941818174 655529953 447972370 755182316 699691562 478494767 751038304 729541623 538995380 833981984 248781168 373275200 256360944 493886769 683805452 893510500 292699958 169208320 470573083 930639778 177755774 375351295 282974066 683589325 564102322 320218903 592272918 735811164 894048419 692913176 165092944 527091458 656900882 397405758 363594074 798098515 299217416 423971080 886583458 583577335 836534372 436752932 575393583 932954536 202697921 953723574 738406586 741224570 944474161 880307711 733123499 146357402 848147033 783541179 154206107 908776950 585185583 644448299 241732440 429357272 790044212 783321808 193941668 997737562 479667226 561797891 537831950 435509177 572447572 985902577 831483572 432362589 884412238 562995757 545483341 547763060 468528626 373560445 353282349 478013510 207108257 681996573 744024981 904024547 808007822 495285761 294950726 814378726 686421734 454794651 577699242 457710050 871693167 755998283 779433356 918287461 874093802 474908187 565052925 838082701 262491121 379259457 796898215 323614851 737170989 152634823 344006149 676199505 738227849 443785591 579832704 287467337 481889061 195049931 391059421 738370897 185104333 813600039 408096210 447102119 409300933 838133548 798028097 335518605 558433325 726595320 740051548 112217335 714204905 209959004 248980920 496552599 297177230 521232021 796739812 289331979 857667074 456589348 938687201 792427135 703578997 284429744 810867542 426363563 903692997 455501982 206991202 344218995 629329298 996214606 351026477 755338405 752343275 307377557 443039278 111227112 824216445 109034569 612578654 930681748 714050027 434581737 418885465 272799364 418593785 971165931 908512489 547014202 738932339 676593755 601362066 176434802 685617657 332139406 456186920 198789485 632571391 486306793 960731910 429535059 651315214 354158914 497675217 511121232 820513704 932446453 409938105 313533624 825699053 495935355 462767447 327097555 239182806 671044432 800001563 205618799 994271605 359104554 213823079 114225019 480067260 517181817 150847988 380389411 346589565 892323422 232408216 838625563 107227335 513664685 414953001 539583634 847204893 613743444 299352010 329338930 320255243 715248938 798552982 278319314 475154026 858268185 122476189 864553655 640845510 437781871 797620686 475699447 411422073 429653877 655389827 921879453 303418588 298342627 692137416 364163419 207964012 365661650 881662043 377809270 510711201 346470159 241311010 473923729 112827366 203874988 813523734 152086421 653472054 205904144 155646423 947435228 965907131 577258275 841050702 367886374 266344915 270841412 244525812 488981888 993979785 897966577 704340944 138421463 559942611 823428584 188362478 378786271 349195044 734000606 286932346 136228863 673498348 455031635 270749307 160164322 385944250 270743592 898667081 273359138 697813933 122668334 313996369 209626581 562724413 387432081 485606503 685345943 642837644 119015632 887460098 910991038 305703032 945934873 223735925 308347810 390574103 377062636 212332133 165118922 372231810 584484447 568243805 836107345 516299292 209431981 687766739 684479230 623195835 986094398 918335316 809786704 283659889 100353501 762319647 103526497 893122844 417483169 240504400 723295568 768301445 753122406 839245216 230790835 506375058 141044279 383159341 789582237 165338648 834887341 432491704 121381426 505761357 893549254 569008230 887589745 412426856 204368354 274860963 328232291 472992597 357231273 520840613 277277952 184817464 640899220 241713927 177984906 813697230 735596940 729342861 438046725 337583049 232143851 167528230 117825058 229391600 941806152 617658329 812479560 367884289 681298154 683864624 417751302 280510635 339032378 540943988 396991316 226399349 453321424 590972727 882945224 331504730 448485431 823539371 173022587 738145658 464446269 960149339 612538091 282502582 776420935 421744495 308918547 562839472 152840141 594571993 247090247 877021254 486764586 725237408 297894750 396709858 690476142 453563081 607328775 361407351 792707611 188536720 253864718 175481990 635903724 677147427 259004744 773291131 935033533 163897693 836212354 449002971 685897750 648998147 688152407 913736224 360400291 540699199 222385372 485590804 377106681 911237618 592829494 236774780 313125728 811800915 128907461 330292025 918508842 998648162 530597661 566319612 337776641 681123152 866035768 507825530 879208946 839984666 491390733 208114661 925092536 716251149 195539964 498848695 783468520 800788557 835611885 546567343 913337649 554180453 848589462 194129657 979210233 924823777 609890887 473212164 588027202 892577462 364684127 324760822 396489231 749116305 725664377 252850352 881983955 186460674 957938600 397379900 149728436 765463875 964584546 390614570 219596237 564625101 602855369 789051266 882180380 706329795 153557181 870825408 193139007 662707027 980498938 218474983 378250854 875704200 600256908 839628607 116276270 747576679 379628557 150831290 885406783 881944966 912937396 459962324 590233846 487117628 826508486 303381894 935526217 831863886 937324947 754613239 178958268 517969942 723204545 784544236 239089024 231247672 887895162 279529036 371766984 554205794 620934808 846955791 300523596 163556230 121190440 823741476 114258613 184509241 259768219 292958898 216541663 218220634 848382432 994745089 222464596 581468947 266681392 283121471 353603000 301501492 638046403 125166286 273032616 823215666 490240619 409208899 570593706 917808657 417263911 265481226 986423979 320190294 889154975 760046223 363832047 157341606 373097552 659403740 118125391 362944300 351244025 621949049 599060557 297633396 495381970 718608158 267468048 965960548 442035521 324686494 658060488 295622920 487733660 122601005 450631134 651513403 591257382 469327376 317882752 865385073 991354922 793202827 714095042 351334112 977236111 563150471 584140829 678518827 908399745 699355817 349116498 324655565 920641925 259232935 349519724 638751967 464094884 323633161 515266507 148548077 603678771 786095134 878864196 221820244 684092058 123036816 675489007 605431555 146561392 169921790 676199456 931453444 877596336 351336451 358032061 449819292 373756642 809169879 577642302 998680316 351970669 294087728 992277605 275893051 554258663 369635308 956920959 955403942 624026521 432285729 794762464 928583619 660540876 989258844 803264806 385775834 496860878 723641940 944629450 859454071 701915886 285125752 783871744 761283725 409989443 673427141 556799354 352351446 193391068 295709490 294573451 852135329 775505643 167622808 470745767 944516730 664553492 372945572 339656385 704507732 905682187 504789634 436875810 645932287 217565974 517650529 140927109 670208415 744672761 547345161 956903108 974586965 978442863 539222523 122207536 371184485 280360069 668194594 725014583 513514478 947511341 673650094 262369984 355678796 225745600 665357884 997302076 563371328 735157190 350204282 256684523 933851623 254324119 377997271 724914003 185296247 646453646 172660881 609558335 342311040 793022080 136808847 762374729 144615534 906531222 257611884 994010111 137758920 294129136 765926262 611618373 129135093 112939782 336567547 495045909 655300122 868201460 793891785 974646528 201907046 396301793 538274752 366475929 621861144 400602994 427397374 275185080 259080377 869971577 584463315 767185811 411463254 354808000 460620626 941654223 196815317 316072576 432023951 802516900 230096719 892962866 171258095 135931917 182407709 265320657 121993922 644134860 395552885 610694764 909853427 818655785 773138507 319053645 393867036 239292328 579535359 591806380 569553969 194778231 247671474 629942083 728834862 397336404 923050831 727838288 976343907 377415010 960241499 724626119 619158100 584271076 503237053 109440269 114151460 628927107 964980775 785102901 659749430 318861320 127105031 314984440 847386714 720253114 583118114 823317055 373360810 415782860 461597386 426812388 174890067 383033874 866856391 269276586 603518384 619980794 611494634 171311896 361845668 500075515 161057755 605522753 958125232 751906172 287721095 991981554 642630781 330125533 393611656 259091421 720875632 429394221 534644349 716000965 107328024 264459152 775501649 996504662 503064617 737437818 453681954 279650397 851575184 518417408 941850305 179005575 188059651 776740339 453459285 883656499 216330468 464976972 563284442 794680892 526546835 526291429 685809526 814149159 375339843 124185313 720361821 503151970 681791724 879476934 195581473 617549268 420745794 430944132 353103565 816988621 459764983 695146910 224573318 313498145 235324177 707661362 594019967 302821596 882562912 585268993 513848461 322027263 191318821 753596252 694772580 594765274 504494185 502201775 343559234 201577021 683388296 566094985 340388864 466040640 342682093 580964513 816119421 891062666 622670480 891046453 550380651 593350688 563494186 515084852 335901336 475526095 542739124 571912905 987470235 778627620 581523030 716672957 170718669 132472325 191653777 790259114 573580143 707892542 540625393 765714444 807128566 929582182 214989895 749580597 281185126 860649625 843603707 770137337 889552324 348420416 754316420 842073963 328998049 312647558 467041715 893274572 101690286 438058924 169693673 446175654 123078215 171419549 995105244 480116270 590744569 233376876 244462781 237494594 458760199 279048153 621983040 812583721 621973786 796635604 881992316 258288875 192517081 296553067 792113364 341642952 375727990 223225835 669385732 930589147 492575442 980387179 383125278 614046738 910874877 947676622 793001151 629878824 592867030 833064058 360583949 942126153 105285554 188267984 847459479 738360699 733721005 555856861 511791706 390074876 835695888 768093887 338018455 185247639 898910468 638317725 972441015 692251450 675270489 557995752 347181318 405738171 525269261 330910097 670072118 116800063 345761665 700501870 269247818 659531471 672837400 534355381 426015815 983280540 216119386 200526662 387129593 377672892 612822833 780048517 837529703 575803476 773176585 782620856 654858769 554678436 618206536 140803336 585083788 973825072 982299766 346280018 155096283 146465715 961950724 231588440 770679441 770646359 635567049 962207954 780275449 152302708 301778717 660094169 897733253 527606270 571059887 407848052 225016212 527084306 142590713 857742867 710075674 200541544 578960552 474585882 514607636 642659511 543140367 836943303 232018325 554926239 430314721 335397976 775245677 422531755 476012062 597890561 290762691 923318193 451993335 920797629 785096189 951611054 290024483 280679713 159695377 889550603 260827707 696734924 695747400 230275217 282321990 746608874 872244885 827882598 326140478 823501655 743039508 685642189 995951804 347055784 225272833 316049675 663940590 301409258 324792878 775983115 182118498 881001996 717635238 893666587 704230955 790409836 352555205 495419292 788924195 782866658 818226972 172357433 667925097 297783582 111550953 363957108 674277088 137417491 824171093 851435374 819957539 699729318 259859586 759327651 272733957 523985031 206542652 945256835 322041826 950747180 173618992 657832440 599953998 212637472 740442836 366311948 479900971 842343711 594317264 263447835 475161475 207608158 839222086 879837276 863434600 625690317 821123417 758739996 178543794 195080884 352438237 823336055 862495139 392161387 659375199 936407328 833345165 921325083 479922275 914479753 507091807 576261259 376616008 640452234 934087891 443437844 319796134 856223702 585800564 180947249 696326825 818682037 396641806 781161997 213839552 223229506 623042553 683876490 892811441 394262383 626228545 504527347 407790246 384015931 313263193 781468113 601457041 944106292 118216260 946725164 441935736 914314077 164455560 539346526 441056539 281795050 995557593 584750241 415892356 846387410 478331232 506838414 426182183 373236476 460640808 728595924 307673378 610840668 521460102 760303667 266546730 331227081 257774019 493887880 870694243 501505274 870192559 759616339 854980741 562634209 573518930 309156812 599098443 541114565 353660830 435325222 926313050 353334559 804521094 825270150 665081880 193471802 678354498 337361941 920503737 924380675 732019911 251390707 249333602 147595801 794566796 994868906 737376806 743760964 328478365 964923584 558941832 770655347 407710795 622897303 837635288 642771834 617241632 917208888 675161713 215963759 552118117 646959244 233259787 597252174 778512076 853040135 405711724 225206790 594209714 445749978 559634712 564594697 509407859 758321792 715671371 676627861 865651878 388838106 440350720 415872430 875484526 277053632 311719128 728004970 415097242 828675306 103555907 128005606 214335635 389878554 820887367 977149597 857413718 646208501 788544481 679990551 901442822 650059720 622495025 389443516 325301800 370410398 909365646 302945625 672164079 543134410 680447534 996959029 888906944 978377075 571279630 721006901 306621937 578132068 170941428 851728765 965580761 246152987 521115970 140715338 414074587 398680761 380581711 209226923 886723289 777590214 888247003 596735451 941229874 441349015 732819087 409269849 887873560 479977222 682815174 423092569 232222361 687085722 859223985 475342771 873012206 559908725 140600533 859214840 567844757 518322624 749022553 566088898 511678618 280169230 929161056 359319205 445026615 177336167 729788195 510680973 383034533 877789908 974363846 726072304 135895912 300826570 780338879 561961912 153096145 307036241 763503585 485358030 229103126 165713104 285950319 649950094 248966970 881119956 730568367 824740471 695597412 687909079 291935419 783645848 482589127 884734627 874090300 343243199 198910830 900212646 585635862 762147480 699013745 969058703 376188586 610130248 360419435 625985439 535656981 625514060 151507986 603558906 251032412 647503098 177450633 604879366 832664202 490260489 387540129 592208627 894486173 247019953 404356226 618726982 733884110 327086468 281431892 789583895 112210560 177869022 419710990 600598723 218542747 527026922 517600380 569961444 665839808 372008885 670574116 152633895 597227979 671962297 685492817 732642783 391468887 352050091 297346263 682436262 147673083 357355177 522909323 541995201 106109974 707494122 565083733 497913528 332823215 982325897 383466166 680760576 340681990 801504387 187980903 872030439 893963138 311540582 521124888 438374845 732215498 114850601 417073714 131150883 921131598 647663318 429511615 196126866 567593678 836642933 791692579 364964596 449364793 700239568 456493204 857841454 147289003 498082468 630277457 241897545 196413546 629674799 211199418 700005059 425761982 641368564 799443778 477602436 150763361 980093513 474673465 418989108 638799160 124994912 828570038 206347175 431316276 777409580 318520159 767042597 320045652 410478650 326925754 998169770 713136950 759950983 159356700 660313551 944173804 200389234 369784871 937591108 778006049 627486933 456666166 374186466 966324676 726567615 183423517 298213214 176296655 185860583 869692938 724389033 382166687 207105477 998256621 971589138 736929204 650943604 212146281 240015038 721645761 440607273 996404580 291670768 443175360 758847560 913173602 103664818 110665143 410428337 795125940 226893833 985221193 141425036 647197353 727510611 526411376 491605501 192335219 859728861 930145394 830340750 725906968 694899251 997087706 495012177 399817461 756070279 816570629 465854820 214129398 674605033 637600914 510610185 810462071 359794862 951596210 575345446 192528413 920246182 204403562 771332525 567766859 197485350 880139865 368065283 378590333 683410653 604132172 273058632 337492782 848654369 901720142 896697623 694587201 311862434 949058849 432204558 819397132 746361082 743034279 408612271 980689077 843055356 292616457 996008876 631876412 440869323 869383057 880026604 596539767 183120617 940371428 206242357 166081946 148301824 156860793 878812405 320036847 445356248 792134417 489403327 899179136 236919690 765023862 961542185 233027737 212118094 192209356 256784145 550592959 319800652 117162531 124625847 917079213 407282441 183328492 405844313 201977254 706994143 238348961 884064774 189698042 364845485 404619953 828130012 362605403 978848526 134380532 709854577 483248199 218902474 190695655 348581509 215535451 255011184 455278737 395798909 927919686 476843477 254047137 908601323 449310487 617997657 967772689 120235553 304186076 673611469 688055708 620201718 452056183 535661688 554171093 245486422 108352664 805469091 607029873 751731703 830151812 450746717 916675075 710706988 366641331 361100167 313558542 329729525 118243801 132205202 429449321 742362589 324836026 830208004 675888550 847579872 776050886 849953665 123495621 422258430 575301055 941473198 869992004 356504578 348500782 444343563 424326453 606705565 145641549 387990535 619475762 306502840 443505205 113477739 427842358 477559742 731398068 647911282 182372834 582257812 488465612 506131054 567306670 189423224 320306847 730869195 580604977 103493213 806951931 483039887 168510737 246650221 671811880 595368860 807815394 143515575 353429120 722197998 690546754 983408401 780110088 781542135 537449567 725288264 184337005 604334834 918303987 737499279 312278959 863908334 738011912 156426903 270769462 483584317 656011967 974112120 727259401 534572418 616505932 433824375 456293985 209689007 861679852 829812271 254854933 963659849 708219817 924438952 974030802 227426895 463868795 809775858 351777729 320778908 114017951 980162748 277397822 731904708 989056591 639216925 303820003 714679366 229533168 227940045 842687763 484116209 978360723 729837504 403148027 584920585 539457522 634006802 988743531 804622858 706654049 922766127 869492504 929084058 110534764 476664697 785317467 471687993 463013192 763046091 711614033 348988945 885767966 650521516 716015121 430276090 786705060 181421627 232364722 605636246 159243591 408415797 487933999 240104989 853551923 609335231 705777684 745328752 611399115 954573760 334448758 310948842 219755249 862794171 349054189 828256125 831454198 768373994 514243912 941512385 617237643 211114705 824769649 434712698 612523337 317456513 877328454 786712607 710614936 979488028 606583026 872649108 177895421 626964458 518664174 556169698 132842618 404086335 840738983 240192960 185915122 540492330 803660791 269469566 338166041 174226324 243636298 963386334 919257031 936397709 169868979 859831332 241945479 473052453 564620510 242017746 352613654 338082188 676082029 945085355 440519573 894694916 431388978 807773045 550231969 133250278 390956578 265427067 413152678 910007090 148253694 563161198 589752183 334317757 287457368 140833938 673439351 538878117 806590613 174239630 234590730 804838357 349231530 643825304 293866865 650881095 386528804 404855575 509901557 705785876 354668963 185496883 623891100 498118791 908060516 260789369 372691791 471756988 396428085 180840700 504424486 614669457 353364299 962116716 972713091 807839707 141718934 497240153 916933761 382564992 299439636 838963383 719762497 586190787 294154781 307161355 936153037 239315113 324641669 781412477 263308647 905148969 886524702 189308835 261661894 717724962 790796566 588992781 863768650 478614738 814943728 277367762 749462963 271953496 775986818 631624630 765911791 972924349 268924042 305428196 880979573 281495568 517047636 939910617 247425247 838369075 887882584 876377934 554498394 261744567 461345697 746318980 556105201 206700034 190608583 962580404 781323142 796025836 444197413 928464312 165038171 188816395 335703023 947991460 389294412 384961342 896225914 527285767 759585372 933740341 822605679 829273963 712001854 666261757 904978989 925686012 874321781 885132321 967315612 669815444 349299639 185458397 566328152 983782518 191687020 738934961 790229115 701921694 413307125 208555156 445188252 874126808 871053246 886924385 818812403 828130259 591592057 895041501 501657539 467522450 897780583 227070932 298485852 373623165 207348687 915888416 890904495 269558744 278702789 629396558 597139125 136132749 616100018 705299346 900911028 750703675 513625450 584173143 306945811 767056716 919894473 253623908 113711994 246711403 374561994 351893629 694339340 425304261 578428243 135609650 713108603 328150905 462723052 190364305 412942646 389540475 253927159 879199780 607718661 143574743 580044614 805758161 613457971 860402123 395585428 933651662 613719253 329098292 106826340 947922601 741526153 732404345 822372429 204920449 641817219 661223052 348731104 268619783 209136061 395074065 832568293 173124032 895086635 170533153 767225622 805598488 316653331 316663525 250091749 237847140 981929832 813024232 207389745 389598764 123536779 199072940 869476188 538774207 386478974 233028190 937246333 155839230 917448282 575941995 362892869 375753469 843378740 390398823 548549322 528570868 608794692 598248370 602813675 784168442 326549059 563313813 880521790 790593882 224214224 628364331 100887300 630429795 576558906 409728249 222994222 815482785 857920990 213231030 788014626 929782884 902144532 974220043 556981466 850256320 317666642 271397649 195575884 513815149 116036841 466124201 131832557 903728856 862061945 243495237 760595521 995225062 738075793 119811677 825679318 755221782 541679373 554698685 830975058 443063949 705141903 129260709 751886361 872644112 601952691 351234426 841895862 597638771 627549722 865864752 506753650 431335112 503677372 167497013 103799650 884828724 461547318 165399897 316812897 939910403 751280286 212729424 899935681 142004296 572922503 939537960 206636236 414848594 653640553 468278139 834608694 625716444 985420333 877868829 454361341 780090092 238275125 459087364 267246880 955185568 434993214 625842966 307802508 995058548 253109667 123171725 415741325 213054913 930244891 432615220 768640980 928330753 426649479 989828075 204931380 925418807 319986219 863861968 478450056 176014371 948388268 668060801 533450458 178844013 262682936 334017320 199731246 748239681 272490093 767382510 711698880 606055792 326775497 216579138 859366571 350742808 169828821 691013497 666235062 810682755 810371281 939625112 581035487 279143037 724208985 609225372 784917810 791869898 589507831 416703623 422804129 222335798 865833141 306310707 564907516 815569775 837089970 194959430 623272634 533170352 765148145 274887397 833230566 602560873 500975606 820725823 909618556 414041456 360686192 736281131 811110345 966008093 690391265 401788248 112763208 847735231 718896934 296273044 435395545 416385947 549590504 100111409 456240336 657545385 146727394 904585723 620266151 544016014 810277119 943663241 213594802 232758973 487674298 305262969 637524149 333148783 455408344 808182120 343053719 823730748 758065343 216425019 326279821 117015724 400648683 691502514 255714931 250809310 573177678 161578280 129800116 868536904 563120406 464048073 556441429 439066507 846460350 238057560 334131172 318589528 891346390 914410464 316084294 567993626 510643246 106950702 826032663 711316115 579013447 971444248 205359891 238167086 705871705 829187346 631416814 849972714 148141273 454315160 772964892 788094397 698264825 533200182 245128408 152135070 785126527 770192932 134409028 940457200 500203753 839810250 513220937 611899596 769459296 610875571 282289688 753224697 737097059 579246002 489942939 557683600 790315531 234886510 127182482 178438436 815827774 451416021 550638218 637809002 792302567 741386559 450922821 834365440 214715558 745982402 604484208 486319783 235379249 296607133 826620075 665203768 360668260 483303418 698365015 861360013 680669146 836046729 834207501 647208389 895126872 514447844 695051275 185776840 725681904 660641848 350197079 177149720 473244213 641044786 819127670 809240702 130929540 829108543 884311787 720822627 228025569 850864242 338382461 602995679 546526153 867786905 160270758 946771223 652833951 266467867 260725280 762063619 427809458 668840695 966748579 811713008 376672185 484773574 821469685 849975932 700667869 909412448 718677347 480863664 363845029 405377162 288763410 902598239 226363657 808175137 144997757 907428125 746960858 741819938 474966881 702304937 392876107 812455038 748886288 732128579 152040538 333327461 749798517 557952482 393446350 392122403 128746146 585824653 854440371 812049770 637233590 967727709 541290724 151455063 285786187 433012091 248516691 987142707 843703813 214846242 144123287 281069215 660732181 821546646 719240391 655830577 461778765 470645271 917201679 206810907 196723420 705482936 342924862 725143930 323763396 735041823 748875813 176630754 409875179 148483148 218427779 243735899 342314539 966392310 201982038 625390780 869942120 420151249 193264667 628573971 596676059 712395501 836822230 243822334 211145940 498561408 656480007 805681814 122225544 998535530 127425615 822982776 190926914 129542259 394057791 324924110 926576281 500246589 352803700 834610639 529447675 424885343 559888481 825369704 504621265 830591527 156151098 668218097 911410087 842806835 540831188 856637043 147577856 452958455 592939608 810189457 776223619 894148609 412038100 309405799 889792705 376125166 260930405 821501829 342685551 631642811 503308109 746171393 580711550 452096866 826217108 941722207 735675642 858737061 554352308 243640083 168711377 274246349 549016741 564783507 708187601 771068501 564712257 499436436 671701546 151793010 847381840 563616795 137779058 294248226 856834997 660209231 636971106 899093071 516545782 810645621 602273931 460558949 807358978 407938617 733612258 533952010 650238635 892574248 413117298 655886210 607233281 798383586 233678105 199991583 245154611 475516394 258223666 707270826 808955152 292779024 657656598 629547302 809018627 203448733 122448026 347918229 544755541 436986996 979998879 774571847 687137503 832676847 390968809 198897177 797978639 194208993 776419734 903612994 148408157 694016602 295136833 425552760 384896550 796532769 802949393 761874210 251858979 556806423 429807640 434653755 467787866 865180123 833299859 644754442 732086323 613994649 548530210 730010151 875648533 316512741 107439354 551107126 243446472 156137558 626882541 980846822 825024270 973893971 643927299 164028023 929105238 336121062 582142258 275491495 669606007 759314215 319912112 177472771 364788640 772437747 155739266 883873719 672335005 747181939 654434028 660328219 244450155 312315222 176769104 763508981 937145163 376918962 462037603 847090367 484530160 107831201 699518769 673175273 317673334 568700187 498385680 110396364 456186085 301397639 971144134 395107673 307590708 531322446 477798895 436339009 687022255 520201675 453318389 804172589 176759837 480697473 856250847 668647455 891942692 464484995 783083789 793898183 783105979 941707840 633620513 798471312 929012114 505827395 121218304 925829947 350995916 718870612 756244288 650459141 681367980 980343612 626698206 889401557 788429797 849357640 298705366 423385217 138649557 296035645 469290968 551222193 825675085 165558778 749816798 233991229 890210217 817177491 293147622 928177100 401051755 727799473 678559969 568262518 791413161 558870040 600889094 977093486 926575006 427467339 141311489 251952558 132242558 290697769 367824774 255804172 882327276 199548431 278777991 304063696 341800304 495821747 771920730 120210305 809262989 936386418 994472861 651848620 686903835 890244125 291551537 171143000 616976561 334110862 641766122 191120461 450615055 467184984 776523821 743244839 700197565 531871674 851031317 690439934 646661080 562820648 188175343 129811284 565140710 395151979 208318708 743824475 687496630 617509173 807579989 734610373 729860382 758262255 781500270 845134330 321313080 649009895 979966887 202114623 158472151 367893919 950161301 210391291 404059996 119233111 394688807 663249894 436208207 839902866 963146809 329715690 715381278 537992214 869318102 482398873 171579851 746020384 424283673 676295264 602130550 192005930 351357077 618703448 641254393 809834178 980907839 151793323 931447130 225945466 325844174 707284583 480120766 956199798 195514670 877325501 108673049 383178826 852003980 591975371 312691746 434368455 366675697 391292741 517178862 340972161 205909841 293852512 246224605 479416932 127732867 383203750 354650052 492612192 636105933 455325946 981518454 346038118 404240650 559421394 885428377 263869682 602822754 913426724 777395502 628402423 960866922 240451620 678876143 261380614 455603995 839397852 648662479 961788292 170951427 489916375 953806635 586084824 710118584 556664456 145570845 726204664 301027827 636568280 458614958 435366351 552654385 615851709 499111240 103711294 148612862 332028399 345934304 633315175 303751703 236549210 876752085 881542723 538665945 178916777 132193796 166035174 417322975 296391607 694974331 692376728 842357797 201849084 931226093 575768739 124729230 376904231 365364739 574990219 682265059 519707549 920946731 100821988 799433471 845758333 790395986 415467046 909117252 304701931 498459702 735119804 417054720 924464744 278245599 903185887 409896289 787553922 759349056 130929132 631254615 932850236 470373001 528270736 749047821 662400969 183675404 255409258 547392241 487907382 406217041 471831138 308839871 438409308 764464574 270071774 263281118 241527630 786580823 999384224 668224456 385179579 635539971 716589707 605347753 103165458 511496368 315387571 867973781 704463438 184141626 542991349 758974564 664561882 983804921 860658094 220563723 169094127 475480741 661211621 525832028 748991040 197107265 793784308 662032943 946246525 992182261 599229209 467170101 942447224 788106742 410111832 434558623 159780575 422619992 160472514 527547179 270169118 229459489 110792560 782050623 263883267 191003942 728432201 317991674 213724234 520868540 490825426 566566539 511390161 326227317 439355715 611987106 618808932 770237674 283115994 695027134 730133659 892745254 971376378 966459254 293515948 419867157 754547693 509411301 377502247 247397863 456651749 937169372 826522119 801243698 362475072 675543577 107469839 172813036 978437458 240981116 286710884 908385807 666429336 581822537 641280631 193265610 922862844 704890546 631181604 283434383 791003436 853909897 794178592 755503511 341575670 348949361 776027209 869426015 610745985 977845021 871875512 533742670 305015601 896374310 201167660 877541380 916599772 792892377 644955416 428599754 812521696 200290314 631831807 455863853 326505424 319943218 765784753 467789218 810139412 274541820 204129283 771317709 549728346 285531827 883222382 239993412 994953311 510654134 101496372 303078755 807164386 129840750 220624019 833677572 181669735 140139252 232172777 515267706 852284393 183946345 211172299 811011221 330111960 846215500 468252531 266984868 591996148 638705470 544704243 349930687 229023765 331574811 928898867 614621664 877219916 438306180 432565299 846719766 945690465 146516924 736008851 699863441 162905004 535577123 108607046 116483428 786096866 948416665 725222397 179045332 195594146 710635081 927436401 846429090 144907481 532333370 857749682 551597761 898416238 806365501 965645207 432118926 859521184 622036476 785554015 845621036 698095497 477477804 338801811 719588500 212483090 300569258 514305760 873380659 351037672 406812124 443287324 402146118 399582335 833991532 503824397 660361934 371617116 199956260 386489514 671263518 672418525 354503878 999504258 482153020 468527904 955841849 424773499 658251181 774167080 524972913 663400957 760467074 769160162 781616195 111924297 912104851 627249062 262129151 100608149 727138038 934257062 291943750 164592324 259422511 428067218 308404017 442191229 992673130 856065304 239755182 782583568 891606854 548124927 598710413 361146605 591045137 119770661 684095255 510322639 276782138 557730133 124699503 517665979 876565668 705031212 663742857 957326521 290532291 369123787 898483838 490636397 614775093 939751292 941321347 812288571 536533275 466809168 669834213 806205280 428297494 230104552 806199628 798978426 438832724 869271668 726182684 694129431 474620036 762172134 268705025 657736736 720098798 145197799 520453256 616708781 309235181 630425290 530594543 967065948 716768238 680855074 877454181 705008371 988374185 330160064 926267248 780832530 503796990 600596165 269374197 670376644 604295469 377222533 159908804 695863116 341315988 629228597 277045597 379045173 297927891 368171226 740882796 887911453 475462215 779086101 283115923 496699127 223702522 910466201 764215187 743752905 816246579 478837754 271782511 718423217 268024539 167651625 897454041 711182230 794837266 280850461 121421303 631644096 577101845 687759011 813340477 701783272 117638470 599719233 622491370 606972605 528200577 974037127 615245672 194057715 391824108 464900937 212161574 976256261 434968299 597113591 931995113 413523127 125512367 236934616 921609311 934408588 748668990 639414966 182592825 759920553 361937297 871486112 487802818 826781752 735699910 166188653 152155509 565408181 387844347 614305016 814548506 118935784 108582505 765938289 654665930 115997364 563211704 136135608 218368986 353487563 984617031 148202793 304694496 511943432 477600159 465489060 567577398 661422828 737847723 773787381 678936365 706613872 823105416 990811392 721441988 841893563 776964491 785252150 111844692 426854826 455377908 168466746 547593096 981015384 345487971 319721743 319825588 442950709 359604823 224902319 747020148 656583172 858534944 741775893 223466381 524426008 447231017 504485199 425652222 320552970 891261365 380019074 313737532 650853406 371309545 229091431 814106067 237984038 473092824 190583991 486749678 219854082 874147629 925220527 688713194 278540690 158648351 985879020 271295926 285454498 594773707 950191878 422252346 518346113 353627336 687711179 768656121 104807513 921918451 330002260 695089940 278977564 521421556 600455403 677839859 499832421 287416852 236570737 745454430 424021223 203133131 281908495 169083153 117085483 126633783 498100225 305094222 110129220 232514248 919986270 631435663 868909785 197866660 202400770 781524645 497416394 238552562 607551488 488042630 513385685 245962865 343167700 313476274 108440658 152618631 261192621 151256422 678584350 477346266 234002268 571120347 575473859 172366586 714214270 652468185 483496238 871924749 383937805 348640075 502458444 203809846 925407669 460957528 807778085 128543115 657203301 321073030 719052079 838292036 528757334 301315670 635847835 448119854 697568167 645666823 191173395 718681050 136226903 376295829 427974813 472188196 907703518 391540533 799309788 273305908 932453299 277615113 930598344 800562428 521785320 280703502 562419707 854820744 314380684 114591177 840216640 716364165 661281219 237410460 800183527 888272114 915588574 350448793 687657886 772497365 815644350 256301727 387707180 130009347 291176022 806026451 535896301 167734732 650730732 726041865 110270605 579464900 942447094 172669248 359273291 784157952 363301883 937679439 751977691 767675570 288702958 377316038 234471675 408122730 566676095 647169569 607670280 741819454 733610173 812241194 427126442 532113780 495244871 218150579 513325259 749203881 429575727 370790313 654287961 797434972 475688143 515043156 192317248 549794679 886296343 302717917 882670373 197286329 168905468 123161455 393405941 366758344 305822846 427057775 576595269 106884697 342508217 474345982 501207942 297118506 956890232 379335793 323366298 334412969 916681955 705484163 758957490 494153463 917573653 364650805 809750550 364137989 927285328 147223477 668015208 142234657 176855546 225308345 263629273 941489715 242482039 194491652 156589422 696296912 740974858 250341417 335374384 874651447 417116192 903091800 580317093 129902470 198756687 101854280 477526571 840204476 185716837 824174210 406036855 975679632 791166586 764611341 379478829 775541013 524938427 112499913 551394596 428940422 569689341 794965099 703452488 778063201 568624737 733960546 861128700 472491311 314111595 947627176 101200544 267194005 800190663 654866053 891572313 461498180 422171318 827327803 581409027 171802255 100703167 510125286 812093216 521958680 994789946 632233254 341035123 870450798 751743353 376491112 536739964 333895184 906786835 346249190 559923309 329549567 914392239 771034812 175287303 937418568 780656053 405947375 188605515 966562423 767176424 736222917 466728239 797276006 859972135 695413608 469347356 354489052 848277184 781783574 774833846 796384485 649773278 919236234 578128563 251477277 194699321 573030477 809986143 738897979 460223034 796696133 266723389 762924222 901050679 771409820 482041223 767768050 706581943 953843140 550316837 107755876 184914325 218240357 723713324 867629834 283361693 536738338 502812766 413763992 575184428 561875564 758070913 578176065 801515251 324924904 114886250 381924417 694146625 675498365 932026454 948616844 120540815 154689190 794466914 807390628 258159942 664996321 261725589 294997189 348274850 988258046 583301686 912057766 190983249 191341900 282247368 993491880 362106391 807948407 628052201 486261307 380838569 620255694 490304739 684546881 874320925 535538324 466954317 183182843 463509932 479297295 602912818 237664411 699979133 859627242 722446101 846804943 152676231 238902616 632948053 608307902 119448502 329923696 339691060 926803092 151915945 824899222 240874300 326209588 344669580 945563686 776617788 633997417 145333639 438983188 161558097 552038626 312817807 306113877 591316107 550172134 145670125 436752630 898567538 739711573 904276965 963808760 858577983 124374167 579469879 376212904 483983166 587145915 859039150 968006535 778566909 128966191 987109155 478660894 882065395 766142059 493596722 828192269 545513571 978175003 564265380 371093549 911068333 494368381 648383066 700939838 301338547 326701265 109400789 722111973 744699419 850371749 695567792 685796444 953789258 628424062 543930981 637002668 167665151 520101042 844241933 457755933 207908295 110948735 106082882 556596038 920957159 686613094 161718862 624148905 128270614 754140648 676017242 612287501 791270377 304718964 380848682 307616362 119245355 973238834 677544647 387779238 439619986 646959704 159500234 995377689 891317924 735502229 728426728 925833374 712579383 169980444 983541378 556288146 245717715 560206471 336320168 734524259 711657113 964573891 608609506 976555107 862996121 121128437 797684797 774396338 146903351 275979443 663579602 476404988 571858301 646480484 922624325 602947951 694732516 985894218 172815840 698704856 216645151 812446711 569524933 343575184 948123982 801571763 837534991 934506803 921157201 702021032 754667922 543052485 577330739 457637692 568624034 468810222 140940017 261032080 714378262 465234923 166173651 410723217 249124205 375654366 705840603 272977571 744996475 117622544 448862221 368200160 218141782 715568003 484534400 990034735 136418139 782542377 432101469 221203440 786450806 133089755 309031195 377125834 834958130 911128754 189764327 121922546 897580262 441412331 833210683 800968439 224486096 646143194 130491020 608974085 227374059 635079399 585716382 267486356 208042601 980295097 111499799 219158024 106623671 983086612 566454765 834505648 342649869 254255578 697812556 421884167 839603515 135627798 959594390 162068860 932911755 255913118 680900478 609665687 893924089 536949073 823778844 519737384 118463215 912664882 973696201 343681597 123165490 618662779 981672321 208076564 364748911 386042775 722021734 188209231 189165442 311227455 522855703 198324314 713747090 506986204 661068070 545371724 970814400 852529577 761651454 288624749 214732169 120949328 426231100 618465099 306628284 584721447 267592110 972386179 219510766 639645909 670578775 561207570 505346153 750458325 363270641 953377517 133607705 372172382 789480524 852666137 574478352 223825634 195797025 957954993 522530610 119115468 751458384 883121117 775162695 759280751 146098263 222371381 347867497 652040672 504381813 997756759 474210784 327881991 101868645 576089607 853401998 210760310 141471260 556075204 880546454 475049412 546917040 898282091 817409999 838022908 172781544 637021945 794954424 434582675 656508969 993717913 206725231 984481714 220091580 755829228 286929712 461321127 548949572 775866705 417537770 489301553 900707833 172166423 261250334 905403560 160397226 488971081 551555389 103144058 684536802 288931406 378185640 357462533 626426642 727247532 579972642 355636139 142505470 987190690 487108804 157442423 913469719 804677805 694653624 783230900 181754018 501939848 845689381 813752385 255213966 461612887 137700169 760509148 442817897 273876651 150209047 168703198 810820177 209977837 638336323 469248921 331937528 483328102 532598416 634286552 141448491 730840814 131181877 843161769 880112905 653762465 619469731 718643833 908014373 506353118 805370665 607874502 380009147 916477769 928147946 896253193 673189518 606058864 826865621 955679169 148738302 468733105 862024203 283015512 232878744 340226229 295348456 157530975 952652241 778564119 581237798 301519983 892861326 604782722 662633065 786319655 857996281 398019051 526102492 662889867 126718942 189795861 451848794 784915977 233941886 131866079 485240812 862256949 587201592 778127178 785314966 244854831 606251304 318879880 738968444 134300531 990198764 320483567 295653781 681484534 950485823 921882684 459244833 714636935 571285797 595963230 989658052 853269160 517351092 531796124 639980992 570782404 905495342 121579017 845418831 710247840 173510081 787305914 884763890 553402340 248997478 737719261 798079964 314699140 170283169 640165132 772275142 648092889 995339264 541737434 945932311 952773757 283609070 107318241 513098982 823630122 361688593 593321527 310603918 754476347 820686575 677755611 399347318 632794034 140074028 797117436 483031479 404804539 369189910 486386423 497694467 800662184 385494598 231668331 564487394 652534795 193018566 837334669 647768783 251043244 789742187 431524714 809910489 616517513 218753626 755074026 153302146 190929453 418292104 298675534 200434619 800599502 332451449 913931206 173296085 738086099 175727099 413490855 875758616 622517798 368053565 852890928 734686775 319766217 250639695 917807370 787521829 695379579 582506843 138552221 696375681 467258946 158005020 448953889 544285613 541781648 271608880 441506014 133248984 630751522 917748389 731596994 945949250 324372854 838970666 890885050 272063641 979824438 749948037 602983365 503857700 155193506 357640052 348073161 517222673 226701833 437086687 640441780 111955260 987996993 784727513 881745857 136623012 265196222 404699167 150176996 498470599 177443563 357985042 347855348 126248759 464148507 733599952 724201974 185880622 823321917 804633838 836019012 302459260 250609528 522087073 507108983 580950911 783006926 352709359 232321847 589293078 880432103 439224337 151662848 143179885 904390418 160049190 197975429 877854307 871753992 386495216 392274787 137797955 217072051 134237473 250320032 342379131 842533307 381666485 367113345 887622394 450347884 409684632 404480424 705219255 195464293 212899587 842725050 374586828 716708884 808337269 975026565 704472493 296018819 307116628 834492466 409675558 693510142 142786551 558997225 937215534 955220743 730068711 246777577 733925373 143900735 300281376 807147657 827262854 260465923 947309904 254749931 305557113 973819290 880419933 800849685 582996436 194067472 131526442 805051508 420020425 753879925 376123885 465089503 105403338 963379541 407252246 668387898 583843418 816571881 779675788 186243849 878072116 566532735 241340065 387349220 526023169 436517955 119159057 725821743 966855306 666735492 156334031 799369222 730242120 589489799 454520454 473062181 700107573 213392028 468500820 839642723 174900643 707141439 924222509 738267139 644996377 585546746 762113054 401233699 789041491 605206905 701076383 970847646 635159087 376477612 834271478 659017143 949961652 866445484 678168929 447499447 798664282 264426220 318173493 674876615 386971832 534469765 553889262 744610199 938341430 185632048 130837754 577980701 778793659 609733330 561351057 162446389 503144846 907140891 510097853 447797250 284363636 929802537 336561209 208609850 206877993 768105413 626111785 235310672 670028546 127888895 985547417 295170135 472346215 944408452 778142463 487053665 769992443 378187460 756916457 965825495 647204859 791863125 807976058 400107733 402012019 961101462 168088921 320041312 723749256 277066876 696343165 765550819 621275992 181236431 346582870 794034741 340911614 650670001 211936649 258397888 263126751 237693965 876964406 149130733 966684913 993191823 168832235 566591339 577817695 730601686 544629622 205747472 877222319 657068230 906418969 266389449 612548305 219655388 264326031 319635360 414432030 808707881 441133014 557433576 686931699 230731051 547779816 513036272 753263804 173750302 597500057 363273173 680760079 891363640 645532745 960741068 231259497 762094182 728987752 174996113 641961974 530785324 479892570 783624325 239798494 538381917 662217638 178944911 760958950 906192776 333149315 640771432 345578823 508972260 370255148 393416929 295310075 353850461 618653415 435869159 205333314 496623587 529206355 530714006 865804945 635195878 697150882 723592743 757303040 759170900 630467862 681699387 718164265 679575259 192714405 173601145 409218493 868963385 400802751 652568274 759641513 700864113 113105911 699474031 512446523 422563530 636115590 655905889 469689940 767846286 105469465 610561747 537702367 933031856 554879818 509090826 707085718 636196186 825878807 762028874 516992818 267984638 907636156 687439384 534049523 876626281 669164280 273827709 351865330 533897065 413036498 224207765 766992269 587307698 279073445 954257539 693870836 843551453 108559421 278680719 512832229 102949737 602422329 915513361 998363289 236756307 462976371 686351593 599960891 584062307 161072001 197352320 373467554 769802970 260637581 179615712 204789940 839065946 745166481 685157320 627394386 216720712 979366341 647570996 635661496 718592371 455102960 595708854 348500182 222134869 711909192 990020115 845638842 997455051 281497425 323556650 338146769 125149832 232184674 667263507 609062483 386332364 659479525 534344565 427528064 283324708 727428632 872016581 721100042 840127874 211715876 647680655 843563335 330757848 168385502 670030005 814563716 377653183 785151722 303271647 325454388 416823856 709927261 473774536 389401522 179902652 998624628 780067888 208680186 217793081 243096621 685309841 932712368 944757110 474886482 749982465 582288059 718176851 352174404 538418505 814875642 696030966 864104856 355479297 558609162 681946536 634997467 729881592 695930420 492081317 989740631 810391688 318296064 635705283 955674144 526761789 758717438 661408079 649153205 424766789 270258968 683611103 978961234 175248350 799410731 796568173 569894055 633837028 211530148 718193715 946863966 186439415 652194214 775896348 150154958 485471848 926738903 283871139 456959946 987608582 871577038 613488034 252234040 587667197 110192017 252669775 236935420 136141041 739808415 853899834 443360066 969100576 118898101 738918355 493163845 277697202 540416459 155970751 579426194 614773642 509285960 837799229 173979812 853154889 876921662 113063894 295006507 567876652 996200190 724897571 666421603 313800978 567612056 363792896 178529031 478524160 378660613 319484596 795434934 476765298 490846911 264825989 122766097 552169692 538295309 797190361 268892604 567502075 871863712 473641334 291487669 303252212 907039324 672842971 967025844 920415484 457969405 378200828 578066592 487993009 704095501 769586826 203044049 632760834 579747425 653269994 700434203 614940617 415919046 169300167 187808718 570281320 957505067 167997321 976354975 347105565 219571668 826021324 874274051 465632991 149489654 237132992 453686951 399099110 418999914 395518234 106262753 370927535 863069979 919289963 882989676 319057258 305375193 495983381 101069916 558194957 407181956 405879604 564828966 597313283 783608386 664777634 494303886 501133031 786001113 240655922 289463429 944537548 102443131 391136847 152962099 150551925 943816972 190837674 914458827 129877671 853924329 196842871 514045027 446209845 761144006 314956869 281182812 919340676 293264186 982756322 254788460 444130689 560469989 798747304 440872491 592329195 328557032 284496411 810774535 346568249 929785567 331940659 555693590 524944269 448741546 899356483 518055391 968530254 961930828 897986554 496636509 700922662 839056339 193659296 310353437 524806158 681327069 245103268 321321691 337940657 639146140 942934937 243587107 368280664 491098316 355997330 528567595 939198440 248297410 306382767 372550821 335281453 532740790 478999216 587120971 584660446 414608160 129786519 320654078 254732373 202081655 887399885 423980392 861252005 599750862 442022150 202749932 783273713 105997498 902348506 117162331 918014396 653978041 163377781 840854709 112051777 863676994 699499663 696991672 378170941 436299446 958062685 662636058 303032942 492052703 168142657 796260467 953971506 776818898 459783049 754568830 217920716 561189715 158126712 726470940 924508063 892376564 245024024 415167201 391871531 101186383 819646755 601002438 546007706 898803851 264120707 790562734 112887969 359626491 260179200 181592603 835812624 786269034 333241214 146843763 869044758 274361109 331552871 582690191 728601993 785473775 654680524 703544223 510009726 225026240 107543781 564182417 483716551 781562147 645226561 280895416 230980817 618468223 887586930 504082702 101008803 193841155 110304697 866567664 391951251 590356408 229112239 956545578 129461733 788534318 788175436 333569033 973866693 155369230 166174605 930941319 352509173 291147901 201442557 805733512 951858266 460647311 176328981 777520756 790342131 667716846 105321793 336968561 552667359 264529532 600139874 939141346 253577989 446371136 489376542 906929672 542519177 307986179 813780629 675065197 644817260 416868357 118141547 872072609 711957733 467016007 966100772 362142875 411764797 478652618 199969871 719850296 287276576 366662723 600620730 617654518 679184799 355735824 687842797 500052199 326571943 642218106 683647706 613389359 922134985 244000851 711748697 317406325 228195853 556507269 497753767 605707604 301613487 936941674 831776139 931656851 781518842 181653771 775590368 863786717 153026557 466545778 136331161 641971223 101130949 440057428 134859736 566583948 757052011 420880976 344687887 729430991 317396602 166231723 375144941 133573561 499230346 663525446 620950725 641072285 918604639 578197403 361264906 291710356 423421192 160947805 620232377 578239580 793490249 714652415 424108815 441721713 448326666 683254901 982512443 974442181 242328710 854001633 354724362 711663750 420344163 421300805 351464836 127333772 272581237 367735891 949723824 751426283 125785454 121551077 829967011 543538907 787249748 147029612 946652091 481436124 310732589 392110554 208635931 129846409 986881514 764762575 163521518 238650756 834123037 279307890 630211972 716691724 709725784 283961674 804032858 426236196 435562664 541402710 461436711 391406762 301369248 671270781 605135342 291236943 537943650 307417600 696885476 104328792 301366197 981599071 648388800 905188372 466948048 829708678 616278808 922769769 638495037 485320990 893795012 269502293 657436928 370882255 132752622 698459417 346018501 432805348 670137503 220093435 186365433 797438793 191340867 806974072 359829130 693986863 462743831 464379252 612217033 684974307 940655565 451696247 761766586 715008283 369185717 370354033 541991017 408101534 774048872 732181669 791076067 829297003 961031928 893430395 152133939 414528680 863690946 527969909 622171254 224338848 480050858 726246365 511812445 790539295 180394928 273898480 360465763 955824581 595565633 154520769 878211712 692928673 302841389 741181893 492242140 834536866 173966678 395203010 605966809 189033339 481869163 927778423 870446598 504574054 392511320 153770102 310674089 366544594 439047608 502752247 399488037 244712781 131648595 443322378 792579843 714254631 205208965 283294926 376646602 851685079 476895761 831423878 612621783 630321423 838942409 683122229 953797073 538706791 458790372 429643285 518389954 989767661 710203571 805284553 731031699 843056671 262149696 677201899 743293831 115058396 705286975 201905770 971400753 699527586 115785020 556836963 241156580 211418978 847277506 751424838 904540912 254199487 264532085 783073737 670184063 518192984 670807387 535476642 127537011 409149274 878837027 248686683 158028509 311446366 752114036 197906196 712152015 734995399 991415451 427702111 886985944 655703706 908842782 609362526 772835974 809873107 599823839 179213768 574440309 300343244 797853726 955699065 713666056 748293008 387806931 314309068 946273255 897779002 370644178 431785861 936967924 487451455 456488710 537526141 764213354 401350013 995296208 581845748 911091319 944213887 645435033 592465980 323970991 790752821 895365692 608907682 386325403 951581375 110595072 218351429 601278998 239842710 212621522 223205773 941023835 716577876 306952493 868158462 973353945 429029773 989373198 122047864 921644859 948924639 483703580 216821734 896152514 781983023 314847212 905231070 802159203 476559725 398229538 785880390 934868522 140468819 723063440 272839722 476985070 532337904 588832646 345184859 944290840 894489115 439078231 625249150 616034341 402534307 810269913 917859061 515351426 948095196 818128694 790960316 751683640 525571086 558812538 600613547 731977935 812607846 501486824 964913784 943507696 138946002 289662268 269572824 249365625 127068832 772740053 868358324 736609263 320043329 217874571 607995347 146334145 875300480 761867507 285281893 328683026 814132939 652914966 762957265 709470126 900723767 988793653 126714529 547529715 365956684 505194165 946045021 384666796 880723488 519822512 187349590 262068056 857402997 374850954 907536908 370671786 588077000 947240418 870185542 425583797 979214138 960724210 662742040 778431685 897205967 649566646 477650904 345214868 116108961 718012454 610535763 714444322 751321801 846669548 289637055 330147702 476729179 430480402 858194212 241000543 937610403 579209963 716664531 413448993 743430638 503524358 652055472 285100046 137779218 873702275 265751128 218182508 436574122 501094076 836219227 298568521 246101802 526008738 546420923 247565080 298704999 153163696 738740302 528296100 772537950 630054691 518967124 688462301 701895448 952265043 623074997 318573599 597973084 711422723 212534792 316895773 306291251 408593091 632951986 302445705 246827040 525886145 400863971 498737247 874815761 966472037 714125297 840588577 895605579 324004054 628180695 644369974 546638429 621046615 775252200 546302081 793857857 100374117 967372331 396973898 942208051 108839059 745840565 378009470 362288183 220179338 137903572 138073794 446526417 694845398 997393523 239578215 800660564 276826462 823579702 288704893 799771052 820040581 444930592 402085660 548921196 984580257 396756378 909671431 238112572 810732252 543438805 167483408 569855286 841063045 452715691 425462007 244956804 546915624 508221923 301302837 567223087 321583180 304156111 513136551 281346991 239861590 646814251 920109321 403450148 525368487 151205520 241312828 980991811 799190552 272137671 897245343 249412764 149862391 768264569 624949744 546357954 163525572 643481023 168119491 444710626 423374612 459199096 592655557 482267947 469972070 598145880 988488653 821180800 829704269 147945414 255946512 850216230 761852756 651105967 690558890 611006362 503552494 551397615 868975352 488374845 155112475 922225314 981167504 510824740 211537122 220590099 733652455 593277054 588112135 899349506 156286881 579751456 149454654 783371418 956908556 814108149 878679691 905201653 282902623 436865876 614118079 500804593 234471033 196048499 621678265 794503933 672350992 320349802 823254087 894794100 956966919 603272232 511091727 199778464 951178563 168566386 547547200 956974839 205735704 407969377 136798039 337177665 146099260 477260488 572406169 565440795 297034786 103436646 271573637 158799737 858987452 104059118 674973055 617923693 350085166 643628006 631018206 852170769 598936286 584768403 223103822 340795734 958641453 132984809 103624388 342381977 719202920 688177057 544943256 368134840 899226636 869485066 945470743 184942627 417727911 758415284 371938022 943446793 637486191 736569915 932777944 839086049 161825718 164822860 477644061 282641598 630268258 396354524 578828196 443770025 283612459 486387767 252734168 887067518 162985481 807600054 112095551 698751072 911872633 205065339 105933136 632280664 759544814 458415902 675336278 816811848 854411892 723527709 556576777 301671660 626433048 151907393 817128410 742265181 247274057 692411443 995702287 108856753 667196202 280536234 725893601 750860120 285739805 448473961 881715653 276652801 584455343 815342639 427336909 610789472 910424408 836006201 254532495 645458883 274928845 156632733 106759964 714741094 818402364 586967469 458720002 947221526 361768087 459891890 725554014 889613191 517289062 227040549 941262225 909841217 999170059 874709383 856143109 791324991 480939342 333993114 491967876 276568066 964179885 519992036 206917496 702511517 450360388 359213857 622034403 379686715 975031577 396498789 922467858 919433160 505349078 890106334 599618286 734853497 258672352 101582166 950664364 118313801 762716479 543906542 290475760 211542525 648482071 246520728 647519304 618915384 708657454 941990359 920345237 497260645 764104151 343905144 153417300 395051066 738459792 646795477 419534052 920703922 762186738 431613412 942098021 587352032 827655102 103667733 451477775 755523631 297751003 519389317 686157508 824597082 519196843 479993443 611224132 685343062 247412432 402626933 530702640 353964516 815997910 920144495 415469577 555379140 216240975 130002026 775100108 524299962 318413296 547855911 888895628 445035716 187218279 404953656 482139789 377259969 224671989 943425503 819918000 488755265 656921328 249398414 803905692 950368662 254522819 191300621 766103498 402826148 793094790 774801027 232817611 213851856 332827734 789064985 162463264 988924673 364908188 486428232 592903469 791971622 121861082 702821413 754796784 525647054 602040416 254120742 115676017 711914974 292174607 856252794 277358061 312143547 220389939 858732662 193908818 342549607 816757611 258316384 266482992 756890600 469682858 809367230 511719423 658888966 143527284 991976943 134677076 471550945 679504064 193485514 936367937 683965736 836781735 517582017 898104539 401218315 450914481 319815383 787754200 406870389 133266878 607104467 192769685 343209456 994716425 204547439 360031141 143635282 832483439 994775304 353780079 135921424 541997692 326941323 818351096 664247511 357412810 614811144 288675912 711137461 285476555 793660588 429293640 440459627 118994845 261891405 450182275 477493115 433940121 392171636 152243366 324761982 200200209 554274347 408877886 287309266 571947786 577629717 402970914 821565197 610728643 993465539 693430870 487920565 868731952 569602950 474423148 923205752 213437302 137091572 313212170 104700662 822564670 977976117 410905124 617289133 918664231 417996343 329135312 369489087 751016919 468833084 390336553 291387099 802739371 624732815 303312831 325985507 124825019 760566382 913619399 231565521 681926725 284210185 981777910 169863449 839113363 976559828 203748736 901223909 762679324 779467164 375741101 154021500 707443848 978397158 986583740 644771991 140270891 163112696 516542604 871823719 519215476 483057206 826074303 862712190 442947372 754836705 279706077 305586993 337343613 980306000 931692693 653429328 604875304 250958244 745422612 713032294 902831124 793713417 861874435 448906671 772594959 599965794 408623991 102049746 132301080 723537007 996327709 196499115 103618950 304858099 570916452 578039779 586093906 684676917 690967239 971597104 707250652 388596871 626187407 182603589 942599491 142643492 356090225 304135076 589117132 508416906 354725141 202918308 682638887 920229943 118568184 218095082 550217213 459378665 489769421 725923565 469742801 803145580 500785533 999310794 856513392 740520649 412221431 387362673 174610135 532150248 900360968 904141802 108634346 671469696 740983790 199044854 414190899 510017514 320204106 680885808 978215412 985016622 673555992 619042053 252330063 242166537 710335433 636047281 895255148 455120931 622601176 114937537 714386187 246700606 320999714 781131399 947732771 206387143 787562548 561255684 222050830 897959196 935534459 554098390 820171711 908290924 489713664 107716028 879627042 408830726 434474716 371072601 139560872 652248161 420091101 905516461 907876578 838331707 291508268 930492735 548107420 149009450 736857770 862359676 924996869 955322083 655462131 906934863 362691790 269208882 246841302 714253476 749281524 518396883 997179593 902770632 185820573 171860518 756975169 433978443 383113110 566159777 173666839 548395367 460090184 668469084 992879788 550025794 784939607 661206694 257668371 229325929 618147277 413467015 791867173 507344766 655189087 614489353 401628286 116863364 847090512 278284418 329400414 378304560 498949304 905523646 347165816 454775053 431444241 685591154 835039229 580068961 522543063 939960936 604354558 549875541 133715360 210618474 295585171 191995315 644380226 213712767 414588795 464005240 469719575 420240989 416405441 317888515 531618086 593381628 696234873 748674070 404970278 469268965 871400657 359102070 916799209 757096787 574462793 791951185 296941344 732918796 978514279 869107227 556475974 301523337 552792781 735922190 574141142 422230402 145298967 998815730 316458219 947985226 460569524 951017141 610890336 467579776 748879291 957078719 390161872 585136301 350809077 446387808 391440437 970513882 159192846 271333042 319624275 775460729 722533163 171615511 177535053 354323083 589586027 277233674 936123535 232723847 304484080 780541469 730212460 200957343 195281054 741915236 292954827 502605241 216220645 741395185 138733202 342962182 503495966 849471380 667210886 170511600 725635712 693527451 892083336 306149847 140524832 204348376 888648207 420116124 981244460 206361492 518673117 178770103 933523576 285027176 227020262 884796665 653498778 288386543 313004221 800939856 790569489 991912252 496983991 165319191 740923805 671162232 640898930 474334364 170112081 837204402 956052652 106992102 885047960 896253653 502861105 188054452 626760671 343417056 298316812 842910693 891376522 289854741 746802763 720006541 129301294 825566899 972409811 482998580 422522016 882589367 224787002 692312460 341119232 931917278 665775914 151734724 408735484 708571242 124601160 257161340 338240463 790565017 844281552 852117652 357122103 173587039 933204299 318209137 997153544 295483838 425981360 980465736 438112802 125480231 277512131 514138231 891570536 941232058 516117740 129569885 839715066 902505484 214034891 871737366 918876388 985636388 454991035 706821857 617061229 687071689 337590513 628549289 460367978 807917958 254259627 612676607 729202500 823444977 615765530 305004603 234714505 808522115 454323919 819313313 364033804 308322995 284665490 385001816 414946749 173228004 677527771 202164372 668101591 477550756 795051995 122359243 765042818 684929825 776935449 734385026 266488569 356380501 914516676 484204206 948897475 775496911 473215453 446379399 711104505 481841778 202097721 499346816 113485919 976711878 672078357 289048993 871947573 104591310 281003438 685573457 305189543 262200463 620951484 866526256 907941896 376098977 525865639 111895856 489051747 749866594 650994979 201219206 932608267 661668081 465428050 282401061 211924382 614627914 966163709 623018551 674077086 486647279 975960545 905203472 416557560 721432269 252117865 614649101 315751446 857657879 745813893 919526006 843009567 683504885 941495727 748930897 617256327 942887071 498006018 323499638 257280933 724085956 895730492 135659479 794694424 696907429 301554121 188483681 217604721 498083161 176534032 310218390 808147312 362399483 333451657 615637939 965602566 336351812 338557729 944126190 925394237 738389824 325313725 100113526 477542435 380771450 884831454 702741636 886281467 670421235 542317458 686045435 800891127 259158498 895612662 701092007 574951799 748382310 392783123 777631341 560953676 360872887 118510869 612562869 442531524 246357002 542056412 461383832 782286563 999066110 188411334 306327887 450065916 336817976 637434400 847291161 997189171 174808325 144229615 500255109 306419260 569332905 698158340 958073685 238665138 470427861 613597513 414983832 379639011 878681529 215576089 500315217 278612747 329042271 221953130 311225175 718050523 721460087 947145193 804993268 996093397 603368140 479649499 716460689 877678195 285401971 913291007 281102375 254865769 656456107 285811606 273645643 677688602 237407211 824317130 765111712 694562319 600891572 358686912 293776996 142522840 815950359 510372464 929256287 478418523 613364338 361864352 117367956 838939546 131115088 711241691 203783327 108488768 398804015 727244040 793178240 965710600 642912305 439574538 972678725 808996793 413343711 358405079 363794393 864056239 468343885 258074823 109506696 313945520 349501548 122941426 732006066 677269411 319233886 109822210 276034590 983639841 281951351 742847802 407189112 957706552 659450722 457750053 515951089 581718195 770238506 915287587 907542773 339357661 996738881 973654825 295364571 776306159 109922893 754749593 290703751 822221751 538638352 788137501 705468769 343905770 628809663 164488331 726989357 246134090 368177332 781819528 806648326 807913001 288450437 954189069 518338201 133876275 982534049 745479554 159689945 663812050 926634819 697113296 666364328 585145180 449527569 512338914 519908172 360744473 730147987 210183943 651550504 621692060 102724418 508316663 244335831 657276457 176268762 858906370 105241695 748307871 197347417 330947396 325926003 513751331 215184956 220185271 487617262 337077980 338910719 677492178 770080608 494859325 848046190 348371218 554228125 911470765 485434077 877503986 305920120 941580830 814871060 118108539 853493599 191795883 226396925 366024475 910965725 596903310 297506337 546555903 289428156 656509653 962249038 445064105 247441761 348421280 152126112 774632255 650950032 137986617 578542763 352741945 755452911 110679282 118586971 236126046 146625767 805089781 597847903 512396959 170276868 103532704 390526608 496098795 565984033 427763185 598631949 289964831 341313312 960499995 729953480 987893316 639525551 967349151 502362987 962998739 934811848 706658977 457886961 436289909 243852952 700519439 699222942 368365255 392260296 894040200 271146031 896370786 138463886 653572923 444755056 533518343 305743571 950370705 287598429 469170407 502419802 694723446 355293441 274683289 865887548 987180606 115588576 731658233 633294904 223924119 668380862 986634974 813074160 615393505 199535418 761714005 850628407 827033885 884621391 453090737 752071088 387293360 197372998 775583273 433134857 476279216 786976330 293594245 411394127 164518473 479342296 329756971 795341146 146228208 510358030 935799362 355361784 500429572 652123159 361325063 498580079 518888026 400789794 910999920 768996820 696114060 910456922 262984025 773813752 249421125 334941032 625715118 532021335 448973917 408791839 570256375 731113180 921201151 188098161 140072323 563140498 526515879 643645857 506980193 167194351 903013753 938911101 167015215 403189448 541552554 769298408 358606911 891402574 832594298 731494932 732894601 594555334 291756260 543364203 382567208 404707949 554101062 673942242 245988880 149608987 504418358 330486418 178547355 244217173 797839045 553437138 758689188 877524981 573416360 613817575 412255623 436172143 426955492 995174826 939539288 490142620 627018236 553283445 270863680 855424536 468737929 224797521 464305280 327153429 790010185 835570341 917281638 649804408 243269014 260570492 780403030 138743503 534562474 791584600 924682512 444293085 195479065 727315833 265715416 654708302 324485377 221042024 771432541 712966756 107241039 479258429 726144209 597572855 106247040 581884440 911037504 956229083 191674004 532897282 390634793 331505152 817632751 297200063 902499467 273776390 887808775 605320200 457381229 754156548 277711635 261682654 655174688 526700803 989978830 891316751 536352775 988758825 763558749 803283145 497464590 412369265 833875715 538131864 507202517 543332904 310888357 176107297 643612289 376461169 109731368 363236597 351916768 266221814 396230198 983074903 689890422 345691286 825769119 364009729 580361798 494239164 482284072 671498183 174495892 541898991 177592440 440601603 598980081 115745407 535370575 779936642 525304187 950848390 545872130 612173184 381924650 747265979 944384903 520196576 636976580 700883889 233110872 659615317 119321063 736224060 362659225 206536931 689085160 258733837 789664418 539872839 252721529 941883984 657428340 845841204 244748121 654346987 579854732 313187229 521287899 758429851 604227928 386345675 970578090 445706716 974210049 733487198 842995851 469505158 679620806 721783696 464032338 500628197 523073152 988463230 116280258 363535803 843737751 103546688 493467665 987688385 935973125 224107964 234295341 808179479 757542246 989764347 962423374 538788911 384717208 400767600 518796813 568977649 729382215 957692951 884684701 125102605 397713700 638326941 152989460 705055835 289296024 699728757 425087783 621003726 485891563 919605466 907338700 383987097 837487444 877528900 872138264 317901788 962345543 794184136 524414405 638472095 907699336 400577382 779031037 594210593 620033475 155902682 998075425 617088075 719120052 374784384 364999286 184943894 879776376 952969236 162341977 230159692 738469669 595044720 610959019 433174579 391017976 557901404 201525837 525695807 910353008 134377214 645029535 798181857 827441153 659450404 762240268 232376859 626151295 150167267 245283963 654772912 452908981 228408250 453192349 687338503 515751156 885171010 920386095 794226495 975113210 593415717 725301794 805462672 295152972 327717251 350200695 477401993 704194318 731697812 217521630 579404375 629597520 329677604 644224179 921289910 140218325 721735626 947032805 232363705 784257171 604323574 870884462 234890189 782114730 661276772 804627753 346357929 460213526 454314745 722590457 736480572 649386800 652371454 165675798 165018295 818645639 832066215 819502865 653080450 268011723 723741514 652527157 186300675 202407406 406368136 877802951 793461861 381673009 794691277 302008189 451178475 998762081 629119008 351234559 943616850 216480461 122106572 384556856 994428024 449896938 981705031 110433191 822796871 904888271 552825883 279481860 205460578 636379752 262789534 701812785 630204693 473005552 608479723 586211787 273053766 617904305 754405465 220632548 286283922 650790285 987653418 362454367 632888015 963763751 437776068 238113138 536238423 338314668 787710123 920706448 719936208 905625812 510560365 759055346 136825710 678928987 797901102 682143989 412237165 807818808 480723835 766086628 478941269 668482854 932573562 471294018 667974257 737125507 508889168 597618151 580601250 906763288 438504249 438064506 322563696 123309283 163298506 820266099 878780009 267425882 510844215 733228338 353631735 543378276 214851751 311653820 907469579 512537802 788278624 227068666 448432837 842389025 736756617 372706518 498948199 241305115 126209126 726220674 830945295 657068022 896110020 663223329 906748836 949070663 940550260 303330658 303642869 630426598 285556549 490153844 334377345 177247467 155594237 128271881 568822038 974219804 660533891 580823734 639510231 429825007 972873403 296554993 334406224 473515849 485128124 217554383 864394040 431022203 949108281 787764264 304883955 152198657 799199873 635498559 679974133 192269415 607204051 295178229 558372693 536398711 228355666 628847927 932091751 234798423 854765164 127431375 270131531 581503874 625564016 613344302 699121223 962111436 112380687 602994709 498307863 373379288 607677252 282795431 472305320 232715590 296457605 485527569 449978701 747083608 645966132 605447989 323192133 523563852 212059255 630102577 712105655 966517324 815991813 910008345 871555297 418809031 513168213 548498644 860747196 130045302 699493394 335236186 408063488 476139593 860595190 535967851 399154556 980453481 378673055 910798855 212022921 941502821 530547307 909611695 404767299 140422721 482705697 126112977 552807141 488489578 172500636 178541298 618557542 922454381 442025306 175817826 641663943 625932598 165738076 462451657 263751313 954212049 199179690 724334606 378798727 523393746 310482130 302224548 238466172 405022339 669656056 702216536 279800444 558933550 230891473 321175342 835544462 904045186 474482534 869610914 232489828 539143243 323528069 716513550 751398192 572010714 597496548 101423705 317534975 364810623 641660975 855179360 127350536 221355271 268827362 604193868 429641542 828398779 558020600 670403004 297811382 768264434 872805527 578635774 629654283 258827402 865025591 729442049 360209955 570512286 204454561 387502411 151588616 844303858 201394066 862385696 768552906 401886747 648662249 353872713 355239155 154219974 359721695 278711340 664383223 314042703 865431708 192976837 351593606 896952885 198773238 751721838 267443951 336108156 965923391 440324263 716256888 916455865 222702942 616155027 973615763 188298605 873424989 488409852 359601618 908192517 427465755 176182687 703066964 253928076 945429718 432115539 501002280 246885416 116868956 795090016 719619898 982320223 724316533 821043114 380534474 229617402 819924998 734283260 758236038 124567543 757833701 499512293 753574062 849665502 187894686 628508247 637010958 861722720 445289309 242199057 755756506 506582987 111266997 733583523 323100561 370108952 525836023 765000745 206616547 198256260 261053929 615534039 804210451 687163460 278704100 147641395 543897486 748124120 637186558 684245645 817970869 256105958 137442686 514077249 672452086 432135994 256685576 839279143 951338272 123604212 350416787 562181650 358783475 161370117 878908512 976385440 962328762 311024707 681466095 774264158 593275676 391045126 437156251 798289863 720722070 445328972 857826725 190940755 205696186 275215538 620958973 490641018 142073492 477415015 186663789 466469590 107926738 430950542 451913380 912972125 460297188 763128097 325338505 443422622 914347755 856100697 261381268 773679439 202068120 383776258 444456074 654293317 427351345 579944112 990844522 745056311 733641132 193008749 310703711 463651288 567456951 336614860 581285988 516525315 499242631 486585581 722067321 218453401 103728819 370352547 285255920 710940893 138012410 526841352 757216252 498922083 982198885 205958052 933877757 776620957 689233536 837954021 140567805 754798807 225415203 956973611 773414916 884940571 229712153 667112905 400045965 197673273 238857848 336936623 362243044 434079847 136699830 401762174 862439055 808960652 327134399 581282785 431536766 590105883 586615351 204631660 138978093 565626231 109576828 579051846 867232400 822244739 744454139 612173345 568404965 756371717 689304744 833705636 575121711 425139487 650034742 339830994 268672281 936701631 765027365 840799612 155184482 470002626 126024213 252259281 396840615 649919139 942825193 632140699 527288413 921173858 772382953 181876753 129711107 781319666 825672153 289664858 637395967 602131081 543975459 368041901 928803907 362117329 819631338 972486742 817195958 802321632 742238491 946833104 655822983 232158741 492123123 951015682 748941244 233199430 111417808 331668731 322276594 459784598 614918877 684978297 806653041 754504076 548133326 161899295 334234275 656609954 151086815 154466973 676149758 850773175 860726087 212634650 890952512 801031146 855529420 966006322 509613319 672090359 762034279 971432025 230724935 659859374 341127547 830790073 611669255 200885694 765955128 881665119 667186791 226794713 461901191 987102835 354202424 102273196 638211755 902946043 727436522 790502229 334556879 673695695 393300459 284396498 517924943 987893078 479895350 459966307 637388544 721224301 298921427 125064853 446246232 718527611 433619836 498090861 916065932 997457249 585615281 562201428 701166215 785347412 261687266 888621332 251245858 500106330 160664750 923646557 351547147 943397246 917925758 537378467 844937484 600190060 139837427 379188687 659994792 209024012 844930725 980075549 730678717 816430919 581439580 496922921 718292664 539479513 800089529 362130674 794524257 229134188 289921867 398454670 601952823 613914054 993636517 217756157 100089957 605463300 177978092 873293506 798036858 820516331 688667604 376075159 397510738 897308978 892520899 489261855 282109035 321701762 468870682 184095313 120879553 528988897 465834825 967006219 332501685 390504519 454035409 235031365 825729771 125882293 874305796 962791093 743859209 492463347 274570054 890648656 815220281 909499795 576641249 798148630 302052027 327058116 805624041 586102281 339358597 239363951 451165172 731816530 736029414 509068124 856973156 415803892 961742923 141994079 398665260 505969692 246641379 178129018 826898966 982356710 371844791 207120988 124141221 504251934 427638903 724160033 230269312 635485104 215458932 802871038 263160572 299123851 126133300 210613890 330052611 189656053 630681151 636963474 384445043 407858493 566641733 783814076 551207255 622737393 638025002 691045360 655672477 311616621 663957213 956744943 789422954 712436668 351413726 861898483 394034725 809836962 838034357 697123074 490003030 966923261 177031799 405065890 104028572 273612921 640681698 952728143 572888337 818121905 255405100 469642865 590747471 595050454 844481631 122344179 123115052 729773778 305584863 658462233 665423498 417766284 194811074 855034460 474801583 148841007 208574929 797458183 598159727 241759170 839938780 828795126 155718140 766722693 194735914 769627767 376542985 879104881 362026219 599265626 753584492 982005288 358310733 670874931 760278697 177768064 508128744 258759639 738054558 641630261 522018914 568901903 321083455 208755610 456079330 906099854 401856172 299596612 795666331 338356643 294607514 294578434 114667266 252250593 831614888 446020669 430439278 970921619 357107516 264098611 368656276 341806273 575029611 323062746 117235469 829300989 926576727 893454664 171496867 309361545 661580238 971402883 895999177 314598811 914948672 814788108 275808046 334352783 745480563 436972010 856332858 915740544 620289804 927074104 346502107 513646704 540256107 864744265 649810915 475228948 305001676 393732813 529528660 387170869 397458962 629976007 641840519 468359424 557711633 812278146 389911766 456541084 307861633 886179583 888437715 212199976 897891403 221752209 801196566 931764265 897046588 496164700 627536665 495934651 800902202 365121924 171684357 380663251 125731616 374858478 241727507 387181075 322763472 179498004 347464361 938089731 425814657 676587478 833470820 764893028 442300767 247807843 199975272 527916348 784047358 326240584 437863919 379955628 506105691 210761515 214044378 677327859 402275552 713998278 628522991 672373830 585001042 249014154 801013839 133341570 466735635 223953979 995714011 556155165 869052421 799861219 811139184 265383397 791444346 154950656 598570933 926122530 437692876 398687930 111532874 586080977 352579281 916545585 432495756 713959148 706656539 102475861 945346806 877254981 744905880 540429709 473245209 116322687 478027327 921265803 762704927 376032459 578528619 209663717 455476187 163418053 555463761 186961817 639960467 910763010 575039687 350795439 774042252 487674211 457086380 548899479 421648033 716226992 692655504 386759856 442927951 659479266 929984706 482269671 563998924 247208266 461302416 952809138 372527444 286283386 307405537 847568636 762493709 365841804 179096286 518928509 245942073 190117345 149298621 131312337 256637424 121781180 593018357 223075467 296190239 940952584 797233252 526810181 277476587 122505538 800904852 598188963 101613626 327910566 537587568 141898000 246024819 797863323 255146048 856496015 431740905 796468454 935987851 450340686 604461579 576053279 791937173 325851301 695395697 354447545 918803958 801445075 767735716 627091144 630599994 717838377 760861710 952501392 697262402 319431469 474317221 178043078 744685795 960351551 958437840 819258499 694436186 492221787 472620696 238475485 981397864 355403926 955721016 320449644 772142555 377729157 634464876 864585730 404057600 179388484 616775284 848996018 144528237 373848532 728837400 668742609 369176103 997373991 928069922 880485151 331082541 792686465 706142258 270149318 121773036 446646079 672542832 339538772 431972851 256403542 317935568 538004259 668399162 491298994 713869804 134816604 626214447 912345790 619072793 928076692 420288880 930297344 524424861 476007757 542052859 510728314 441396188 358413132 810899988 508341305 107367458 516181838 210773709 661098953 986057153 903038170 282113502 311749345 873383166 306163389 319425089 314076033 323530223 899586894 525796603 925235849 134181903 866218761 262077485 959674366 509953572 940869755 328692672 947444232 362588198 669982616 326429442 887189060 262886995 147310620 744461583 489583287 607416298 258201907 645285699 129017891 294176262 800396327 482175448 121555613 405632575 890852986 991879025 540658081 773337976 410871166 741129274 834593512 991232288 172253792 523371497 394789550 189861647 997131306 970325716 412654406 687757181 703470067 756666097 774476940 100108396 484682897 167299702 653450625 413573474 698172293 530687684 757928707 839169736 462360958 296666465 566368152 653807586 650734793 499883148 514670267 639030444 315734447 493512770 551872014 405307034 383449377 114524846 367387055 378111237 901689505 599263075 979282726 663416684 127895900 709781243 310177775 301579018 648661089 347546725 848671549 369658242 267414194 626242966 115088186 711898224 682460175 732072535 551679764 853425307 972734877 961959001 923723124 467798239 317698084 157259835 757521291 331870967 677971264 311444131 108268235 170328214 861851375 320964064 899914766 439638434 411930921 222634851 265535680 155046978 920593556 451622952 198237938 665253760 150168311 190025036 596644471 179156870 965055283 340000047 903953930 703283437 487998579 948707665 998198945 679667849 166816650 385672958 146556374 929676442 600719668 351499198 542057990 922268341 273935299 808857850 867184362 123864896 473776760 803588907 241263618 612837053 756599835 427514683 626220456 331369827 889185232 866260296 175446218 328823998 968171035 949321168 853717606 405234918 517862151 917467803 568015957 321156430 954129980 692954782 968304685 451056706 983026948 396917608 288629219 264754995 250765967 678010387 222070122 489496824 872993001 396747681 484086068 637453630 753041715 242882881 409272877 838258866 336934145 186441394 488584232 877123837 447026636 371351799 717281888 279222460 158803177 337132713 625026482 430768421 804787684 619072431 155890892 177460755 436895227 215430470 565882230 989775600 894211815 277649550 224559825 527372046 446712640 764624496 830221640 563736232 573786375 900815702 304927127 437575602 831723213 311303512 220402157 256414559 424307736 876188259 340676209 357309924 883844062 857311099 194430342 797755103 462785169 326317153 178704666 335359131 292169885 575864013 915030686 755381362 631642312 285788632 718930747 248871410 280512653 442665981 814138514 308407786 994443560 877210914 915540711 945444320 679553421 715637009 680000122 156953737 791058085 327355256 398844809 364590951 367414719 404050933 103031454 278764026 310077420 170825369 363721471 959974170 924149410 221851343 992212529 412117427 339618226 664144825 768359369 571523464 798886177 166863818 621753076 916306294 766060235 487304413 430586813 397438478 989905229 697789269 452846625 358500858 174296487 329049387 627137833 328767362 733674460 494366666 777815632 375903679 495883163 505650926 114320740 903121242 898823445 916548552 778705239 715233527 767528973 900434783 126813806 660892173 665206270 588743561 542623004 852179944 961635953 204024878 657928294 579320026 226193605 379126581 355773657 732924177 827394162 714290178 461218365 365641606 144144871 464537028 313381454 830230225 357700010 243046455 505994248 592732015 114854546 701320405 712770992 373999481 465589344 926861583 620482423 312251953 663235742 441758147 585916089 532923732 360397241 503665211 402261971 793608962 636172571 685617923 383206481 255223506 441883000 496846882 571308040 290696011 287119095 647779258 901916878 666439937 309997551 891284683 790415548 901814427 491078748 690810968 420451641 389905111 782864439 492633974 644203059 860377783 699091761 372954236 785684924 577488881 550498482 626400219 990534183 169044119 613181887 806308936 860956191 286831957 995193577 978694637 139224397 189038213 703699645 864563430 434002333 560366670 482985648 449791071 231858909 720419057 682121210 713776657 375708775 702844399 447217488 844093031 966852632 697973721 650935417 224436417 786612042 470562895 654006869 921608662 907745711 385688505 361852614 101172323 630056139 488916922 561360340 420592194 678730932 951417716 975206833 135587692 416521071 820527274 758602756 466544853 201230775 223872861 210841766 826430959 686650553 515419828 712935637 746455415 895202426 593250243 732952851 776301524 347760081 257423967 702062056 618905241 546427827 386668272 259381234 192155762 739713102 142113335 485026230 147636721 149804247 186057006 533769064 807349004 759566690 177329290 139929364 721244896 821351554 445094944 294841716 130347509 762982655 963841191 884869088 406956219 153794754 728134197 481099501 975398065 136802948 199833797 759134876 544269963 620315530 586278569 851404033 110989191 180367725 338114431 104590973 875173895 103698766 747634558 631501787 445336927 714456883 843282977 644913798 994677512 641205642 472300314 383914653 711040419 565104810 562055999 419936775 830341295 176239980 855703538 989540008 739101939 634978538 786439024 328732653 420649650 552605356 402202757 710993026 835554537 825492875 177749639 646795428 673741624 570947276 963111011 828589265 406899593 785455109 701383269 998294172 207691013 642917771 104216678 534602139 834910782 657189848 175779635 980735528 446217074 290574779 584616882 785223977 358463434 597194003 923543600 173827765 767786612 738852641 748170726 568656232 102813442 337866522 883055581 156005652 279056300 881988319 211488139 545840875 564284355 789916027 791410576 634563886 103383458 917904392 951341007 546918308 487477609 446941040 677794247 207575723 897116833 863263934 554301397 292521282 279197078 247262461 524176835 633454095 898890514 165076184 251429386 380573303 990920265 749775037 917485651 810928934 237928754 551613939 127503360 674428247 225974100 871110231 463710519 873692395 625235800 813385453 260511180 317948982 395460449 123223627 153799170 731379895 543441490 269011577 661644869 133033435 622581786 506287485 836472416 216670005 711227358 673731995 595001843 971038890 277094776 601860001 931308615 600017967 102426140 853576454 203143549 331196073 325978844 340616536 575210741 620161049 305058584 875961855 775452000 344073541 643354950 884931022 718551218 193390439 380519564 440244587 235457361 881366028 816849863 409931998 503266423 754133839 671900212 283020509 139464360 566572376 481374858 383364611 580238799 388962854 862967960 639062608 957967319 321104017 319182774 805419115 237064874 897973311 198108910 638460954 507090097 922612940 670701349 429015476 434535041 177095998 287739278 192732517 305326315 505551169 814633833 969376705 716842462 567629584 522810079 604389985 715505188 142667723 458991924 245789517 855387161 353832768 603706176 646978197 761198560 172756092 349778776 241321754 783028630 235418192 716081594 300322366 838291261 157981215 287834304 697206928 414108356 800397940 470045836 571141352 739324718 322093699 426256794 707616756 627753694 713478318 962130150 638581539 196953831 676454652 493347635 645893732 629333217 707103725 571299094 717040106 708982792 927585506 446166586 960378730 764875317 297702785 692771785 549367665 231781992 162130948 119747810 958562075 570369404 808378126 864057336 588648496 682642514 982513727 553103110 606801951 649590282 159052803 878359864 432291135 784000697 201612537 952711475 940699547 873355670 952133638 552799992 218989220 833338804 627335140 269605879 233909908 571547912 446901558 307350113 250250744 618586140 522299833 848156272 772905353 170078165 594558594 225682146 495005044 105288140 412092156 195296321 867840213 646046573 907959458 651203757 138913611 221969630 515288322 141733231 302198541 532974351 798298946 465288066 584710228 172802895 445504916 273536062 602570982 575251071 668031652 998173691 881774539 540826027 188358862 632052604 941180916 563567256 868056883 390868392 912221133 308245491 808856334 714163022 439086854 767885642 483963338 867772884 475653555 350788497 189994231 874818092 993805055 705922761 929464731 936134749 478531921 929052591 851148634 778119142 671450510 683276621 792570658 591820199 837784489 755706097 423083090 689027401 104948298 350859905 692321519 431445677 846442689 146361300 243920630 818954218 490696783 849345661 549136554 891266562 976482103 524210620 737886324 596240312 590821141 263532766 870274158 898493088 691740360 425207264 174447228 943931407 377500789 678237137 403952183 588980837 107401953 298417442 282466253 469230610 856023834 360051212 804615288 547273386 564724175 642566687 627144487 748336964 421226707 277578884 431597735 176447559 507738963 663492339 250957104 805846252 712321894 699237124 738317907 900934592 365207110 916609092 814320091 690320774 886214303 164033003 688624859 184631541 624487524 473356387 251342301 658024095 894512085 694398354 453924993 649623635 944135149 682945962 436943020 203612663 473451564 782922247 858032329 140225197 139363322 647521258 520745931 837659191 556369126 654537998 328276255 453714586 751705302 246468653 343533757 473305457 355923231 881748175 905116388 738378922 949354332 886805328 886470211 254249778 356299910 540171857 824751200 922307588 921368614 811930403 858780670 432110065 260371330 237806363 683710264 893431226 426369970 287173034 967263652 311993086 680367049 131554284 446612700 810590491 321161549 353990860 801941339 463320243 178667212 846654878 345185399 271369295 301930681 417571585 449400990 593362448 465606292 954079538 520761266 611194194 281006185 575039130 353386743 857748536 288338354 172915908 327760767 757523026 223096387 216820027 451768938 773346832 527690439 849912620 604678394 319670995 249660083 266352584 335717108 443595394 259241585 200164066 306338815 826596634 716031622 838876599 247284310 935037082 884231253 160980299 977687948 447075679 145460169 979570146 201861160 707447240 216813224 269962839 258998713 476578048 633280066 648629310 249884242 502561120 130548828 558191628 915799121 672660399 446404892 524304392 225098654 829367151 939387624 243698772 589038392 349510916 265111189 296682514 626576904 944039125 792400583 646412835 749736939 416912178 344587789 776499820 202506861 945895404 973006074 912349499 835029588 773155629 265769826 103983588 818152534 604735013 266882989 743140881 866248043 651123967 373368999 214105072 207320783 394596155 724889683 463579653 280486062 494069349 580856123 362226515 371209834 298034721 753085442 827145033 613146300 763811881 294841615 930889945 640372864 227197094 520495309 791837414 989278402 390138271 103254070 246822657 599826674 158989447 661228271 734468412 641425869 468698713 957507882 346581809 502079482 755876938 953956744 844318619 851803046 168043697 487900456 240992562 564099805 297831513 695978443 886342034 178206432 959101383 394019906 838988743 583360432 630844035 156016276 366620784 600739797 893511859 747080951 837196002 268917649 655984661 675736977 112579774 422446035 639867277 522053553 149906104 618918804 720112893 273166739 973722948 361596617 657722433 308047346 491496660 708623233 848500799 214010352 808060950 638939602 606512821 720575304 291327031 550563578 649315591 519643706 702874845 278629271 323446630 529002821 555641898 255289048 402738721 209938638 487376291 511489140 222518104 880875342 301780178 959432646 470327131 150416256 893795557 225598002 741020975 848065264 106340534 828864699 737842693 276319873 534927440 682742243 329801242 550120023 419289243 576178131 433013928 430262654 816151838 871291898 576597160 393226210 357565749 929515345 516707304 196346206 855594966 162890865 359654420 107003781 124169118 308028978 534670846 904367919 825620545 347393532 389298479 405910674 548849545 198025094 998480517 567886020 578569950 218830572 428461376 530674077 370176365 763569834 977137765 248078889 860601436 469881310 349019272 673653544 590585619 276724078 676345491 767265559 930382711 515529964 312992060 380072996 651065645 254611862 411392767 878995148 882279997 255865438 855331967 746081129 374836922 115507377 995665139 816016634 333104977 672335875 208782660 850700106 861564192 848357689 612261314 883024933 599836730 414890739 848316870 725533978 955567296 269487355 759002032 544642747 455996904 938565414 384887011 186664863 298507604 180761863 996760134 608707408 387504253 756879565 905301938 683706259 554869790 352279575 363756930 215985705 376331621 890241604 329051699 558964374 800934401 503258031 398995256 271542843 672094183 418859772 190438752 708563550 216936269 105609345 762387951 188222570 138205343 965825257 238037672 260717832 505555172 823882293 875902255 347949981 771966061 654425481 112624930 338666965 723951461 921447933 646358049 223495480 430789413 427790928 648459929 692614712 240005378 218643686 215910658 933460612 179750548 908960068 867634127 937464289 707904107 363541974 550258036 627281507 481395832 820964030 938269463 388177570 579494206 400509941 281753459 381651029 885695581 870107094 656566907 718860686 264252023 208072900 364614656 666318725 137511136 562111568 633945772 619550019 394013896 885256362 771576266 181725715 325389632 941914894 785959989 687592886 839677359 140998143 942857475 851425643 630244106 283250412 641762639 404389591 553114134 749981091 736672634 626526473 821538930 536841017 677338668 718888733 409047364 697102928 304599807 498777355 475993260 582552984 902168227 321930067 650679495 808514858 476935402 930434328 242783452 374502904 412656909 554858991 114748503 177793484 971466191 731809296 657222565 270506758 355590057 981650920 289200744 366327759 573779529 359379691 202337585 319073425 861567340 937070620 547958276 517185508 580178697 266089472 822401734 674042904 582435059 769467490 359262479 852068861 991191815 846450558 503112140 104090110 129580265 872125533 477990545 682016485 432092000 112381835 966661557 558732022 660246009 848734416 692869093 411575912 307667481 474215100 143168698 897139236 822904728 550070924 705277047 246469287 721594104 994902677 787018243 367512237 873846575 412376260 292609902 604811927 993737680 225238554 271934367 349548477 315877043 701324114 466002640 233941957 296998760 783811075 907072253 796861553 696173248 749724080 371066691 691932513 740192710 702373786 361033018 160414056 813111245 539252797 199086457 968858215 496445951 794870915 759626063 957754336 234689396 477072707 262579664 575211251 754000437 588225020 554942691 378269155 402896976 577773396 290778628 112550569 897393222 568871658 255426496 517427673 954094727 670949768 882136228 462919674 355247502 951849305 238198270 168788020 248784365 569134974 243646854 721976673 554883728 306925276 641574203 210035426 784747704 582708145 346830106 370763753 972071474 207855335 763420000 656059103 892170360 851518517 758030690 355627840 531123024 116948183 377151739 138975865 605355105 978489109 172433401 196976188 563331289 237084474 342401389 416724549 261224322 526565224 673214125 701195189 121869700 698615573 796545377 509774136 742845390 542029522 257325706 884915453 580328605 330945341 831378000 376432514 429723794 240135498 810524140 465426589 254702731 630887812 824782783 875145958 763536127 908249238 698824739 422817067 679601688 831107102 441344710 720723453 963074834 348401375 828126084 390119752 779601147 606999021 610538198 468703044 543152358 706528915 796596696 837358954 714233577 884332860 590253356 381513739 693412862 944934553 816554236 126027096 401426647 925071877 678552116 805644871 924935612 952315901 516358751 765017522 398713882 458096965 910078271 152357715 706674822 804499246 854659465 932043587 162904910 292894433 956630218 852139172 929611009 632801447 513047990 554817046 416709059 675720959 603145153 273852905 216085045 771190555 795904661 483486605 535788207 801492511 119052386 657132404 616564602 456445581 129103271 981094309 815134193 707538066 351354429 448621948 959661501 128048696 999979166 108108534 666795755 749645005 272336436 207554561 294052244 457541633 183584904 517475960 841133259 571887742 720483265 108235654 137234559 967930505 391602175 897325378 163106765 458977063 149275292 373745093 380817665 995900298 646095833 640625144 471191892 658184419 575845780 343389785 888513058 909452702 968180764 452194471 956242807 701563809 728678810 300809122 315888910 411196529 601119185 772342910 350235304 670436419 431741631 837247824 263395078 478110336 585782258 457806517 479263677 706494549 875760082 276648601 537088269 545021665 362726656 129379282 904557169 847644161 979860415 754178183 127539648 229041086 102896147 249238964 784995878 666953325 378451587 370710475 672690571 391859011 633134253 788641697 250111843 397310212 173811396 636035948 646160672 993849913 460652104 623526453 997804901 741734914 363583214 214081338 159782359 919416125 963984259 469524329 763719007 130471231 354276187 934461882 509721311 393866290 740204686 557437578 150242035 108878865 662520621 207786658 199381034 641591621 265376755 173825271 525598571 578991318 786544330 703680635 844856724 515472693 684464791 374749454 774064637 405126045 554736672 750277382 896540715 755943826 912073712 181117461 696173715 147300593 303720207 184498184 347343760 390620001 850905127 824837641 183191888 642379415 900728057 864754154 454145506 291326148 205411406 392916663 221537422 534256867 377410988 173585173 623211799 528173609 848843256 333145466 467945789 899123604 892472475 505893573 932733786 532395334 520192224 851159428 510022907 880284891 651196631 624221148 746535626 406981390 824071913 863445030 559168009 999612951 772579215 981033866 129157751 792619334 937957359 758631757 786257307 799360001 687458948 327292002 125225336 590052428 384601312 775966024 949015836 216615595 478839594 794604498 328612329 453715782 918015722 445063458 446238178 295863559 380949795 306721383 646816849 211975484 545381770 787949618 674196167 847482102 235311666 752032256 309974638 345453476 532273188 863817497 923847599 933404061 231910488 164160768 504313955 770798154 434745483 790284817 260113011 959485969 147875660 256119187 909414687 990332510 457294696 526108411 822882769 260242595 862873443 603960180 460073228 229649337 952751956 410312300 192323559 989210989 989035104 901805711 980781707 322304399 121553740 511908399 505818600 334283969 770427306 471370310 714349333 314586278 129208623 315889954 679802826 692532132 771192770 408699957 522298848 284061159 685504842 610722161 699589017 185716475 596100092 480713872 332990169 787332788 267371624 866523662 346270520 723856565 788664637 504669620 722946306 608285666 959915978 268392516 251615067 972255821 278353334 830449692 735351198 637576289 327583440 260742757 708393275 874471655 504803085 277495793 933383798 808565006 232038305 547601014 704304212 657316406 163678571 236096653 121228763 638062333 375706175 876688274 874611276 459153439 506682980 999648930 134258231 755063404 156850836 580753647 874878885 329561906 808017112 461667758 285005441 449821028 519091715 144596262 583195621 816543087 905972627 621925081 212222807 402802271 794197934 915255619 178839766 598160014 216075662 321696248 954614047 294946312 535337640 654307554 637595841 570199486 386161146 927312276 335170594 457476658 589219479 662511234 181715745 871230120 515783291 341832138 573450291 212430465 826536061 298252819 762161921 835544860 350576847 681008484 419981924 519042360 581225493 435633110 693173972 344946781 591350902 527664879 405552141 324118765 696881302 335818412 417100958 664251775 127204273 816204989 827199053 367118491 166350293 662009755 167356974 237780584 533869313 933930077 552777909 393130625 975247160 858712233 687616158 238425372 427445907 821708221 239557041 285406359 159208519 661947003 663083113 859804674 535888040 861319498 599862293 123672761 753640560 447137264 523112816 565778285 227906056 823612864 999988420 400355148 302122867 795682654 128798099 193139704 891915315 464216877 225323621 562685459 102893956 568778773 412907958 491245741 448409350 120315638 879676235 295347493 122550276 423321310 162166023 159665474 771066776 484008730 789500486 780559570 814676368 998795438 941449539 115379726 884789629 511580351 596645955 843366263 578440984 556377160 145536819 236751396 224478661 756540040 357866498 243422211 887720338 191237079 230465872 419217415 617028941 697970552 797329102 641519910 108330954 633953831 618895482 506778015 884147365 325767796 400998125 891784511 928472819 338864962 319187847 460600196 911253478 751896981 527796904 468328079 948061224 112115490 331370185 785617036 591877615 557898061 935285028 692456523 254048846 968125440 320582774 573763566 330479281 444688173 437824295 540138689 630170981 151279007 977489952 556312987 937958544 571032644 885677133 451152974 571553608 105077793 153195614 173876768 683755595 667335482 410174862 724081768 371600365 193463116 161252669 301854214 703510228 405239012 586025659 158381856 628058587 745426009 460441373 464753808 729352372 159184924 866558044 632651524 903007037 162722182 139156285 870936652 395531197 964709350 598356948 257269508 936846601 189019569 763492251 541071961 702898746 221468023 566682245 473273209 511877968 583427097 558394360 572835325 275927829 416194646 456615554 219926457 747595418 641577776 696960091 259663197 779335337 580216267 347853453 526820880 368469341 338380854 395420242 680382426 896037220 899889100 522334009 416207686 182764850 180461616 586786533 643269146 465603892 297134148 424369590 717147201 923251705 567217709 414085483 382560800 694137386 625655294 429066560 813172759 621780008 288090636 208523347 905768969 502785508 963632327 736395302 179744733 761920192 963522207 483741085 122390695 939887747 981278241 964012613 434339012 755697069 647478556 411531552 804693946 943194941 537032988 840008970 558200185 824626552 721321054 695751150 277425806 416593390 344306862 658534985 790372607 376872714 865107591 171969002 279708677 354649205 108710448 941320617 496299383 521530562 508363342 580131534 227892833 970530453 679164201 748414377 921074846 690241454 483435328 376844643 435727872 143157350 286513346 525991345 306423013 565205973 964086405 506732772 260855664 667899034 632812378 281009551 410358316 768586406 881931086 208117444 163556835 240041762 583581685 408790607 111433952 211880993 390316171 721821594 332857829 857546931 327348266 454519657 601000415 389056803 868974826 438207484 274217625 621348779 471395727 701512427 393904780 843521720 295574804 236183877 740843067 562726368 916157676 718873558 246958751 343498365 131236145 623523437 350945409 332805663 309400317 747299471 179274016 443552505 207435615 247550570 220836957 115302966 868570609 586716539 596136512 170391574 817380894 312882959 144789414 797914924 973713185 132365591 472113236 289907158 525637888 840883713 212239890 587348994 493887626 524548035 356901861 668739430 392005742 739704517 699878269 128768419 691529293 831901689 211224793 180426803 861505895 157837545 572417045 810483230 838924328 539612269 140351691 623874524 753664938 402599070 745901531 398316014 508330795 855062836 230805093 258462165 433171080 870795243 528632234 758441787 336222345 897743334 594089192 701193111 789979196 250816693 241983033 638311435 831250968 177669219 217779541 491052833 513099468 309530120 953885247 484948535 577602629 376892638 467482402 644148192 832387703 589741781 983169398 983891886 511129605 295671140 190999966 293879948 896470616 292342983 493594580 118132319 312522904 149260551 134859070 116458512 718063351 687385581 484172710 479163322 309657317 356262403 937383061 516034715 984604543 618337409 430250795 940861500 516694973 551465779 911373296 373839614 892308568 634426492 786264992 432047075 255161541 196211609 241366489 185527956 156416371 257309152 667067558 112205185 738183516 640275318 584473895 644999185 708747756 549167943 343410487 209302497 959448412 100032297 277414361 577135781 657923365 820804849 194997169 355756585 593688768 542158522 271865669 129783413 462240546 385062780 183750755 918767005 626013428 589780853 583524192 163744714 760025662 369227182 560442258 216175402 968594510 223353358 585760659 377521889 690947356 153712648 305033211 984449476 385630976 379809813 112028191 254005691 397181676 114830668 439289363 152118735 787008792 728493749 430484286 311966100 793191065 889044097 124562827 446851964 563951158 240468859 739713263 294531807 777039640 147971392 437179055 477438050 696810510 365012132 544149693 938355264 576412734 536370934 132702043 416581898 297781429 954374490 449126970 392081920 438362438 283657229 103857743 594700264 786256362 435872782 248800768 450229412 616168070 551261913 335845472 160630404 100125114 676594684 212091486 458474397 631510309 976745905 183831443 207215777 497114258 265026178 835212119 473352781 987102784 103064347 934413670 520158855 450947338 776161689 354191585 918852298 386402850 968961417 257068178 914356224 993246038 344478630 425307306 712865207 767287246 547173099 612658670 865230569 924326775 622936599 274103324 806274602 332381996 274461537 889708298 968451713 956810683 367021969 797878319 574047393 917911309 196169114 669795924 510548184 889832609 434496102 397848729 472336228 130817342 645998800 846833320 833179862 533332173 225972348 522496402 538570074 209622923 490276422 875740485 428950167 109127860 937797927 581306496 295032660 339104760 373746702 800521392 382128859 156643706 970372867 890822581 503161128 371073253 444629053 133971653 747595765 194803707 355916837 923893002 686702090 718357285 783874094 232185806 875240721 200260105 359330354 868203237 793089130 670658911 567965788 925259458 627664133 419522634 154953203 970151449 591452371 793418420 204914240 980571853 929058579 225753004 484608461 849626883 767983764 896759614 212740967 393848030 351052302 558648785 257825744 736012855 102895808 821338753 499828241 811129064 697955348 215541604 103595472 755243675 608581017 800194092 298215082 208991795 345292930 333613728 726096130 667228554 357346280 623370906 889097874 860162410 534167789 594649077 875435411 389285639 804795024 778259654 707251377 582494722 786781976 810452215 651567018 445232968 640739519 630881961 142294741 878199773 477113477 528737909 454424820 113286609 239059140 333782516 954163443 445428621 377499746 775838597 548890158 832992550 518338391 461860890 656344943 274199694 258571434 302121114 697015103 860643251 571647853 276505452 737409883 571864730 385320574 872572284 577047753 870635246 391330665 998074634 444083665 521296699 991851295 557430583 399365029 666229455 544324814 135890281 870400952 164888257 885661870 758611903 788459889 463322005 257156580 182853245 151894753 911884684 658247246 482615304 867077676 878411797 836997602 151209316 135961465 240806455 506750750 579510453 249255194 552298475 267008980 367922001 384858252 615297841 462759217 674362646 370569988 476529255 785742228 907903765 663346919 321355499 842032103 460120116 676348472 549068124 583061539 135468689 614790750 567381269 757179931 822466209 229844827 898565143 416299777 974842678 496790824 782287262 729790134 601561444 996385478 405100922 506575513 284455487 293166116 859599827 539133358 136939743 495015926 304955868 216783687 760756520 976217865 930839388 691021048 806297627 144452096 824909437 662745831 501056313 894196840 566199888 621483468 934831970 736902778 867313201 313443487 339024777 781919617 355481693 754650068 541550819 231496987 680507176 163664551 460737389 829872406 359291959 561143779 219316259 369306205 301043172 108973408 867927119 777750433 368141781 944857155 417976200 879786092 139791748 995621274 751720536 662135464 786019239 935299806 596521085 941147053 390708799 749839312 133200540 754467491 273689929 284812821 951174165 993393614 666114020 881694336 238226291 868059320 679794584 754873179 591120508 888176187 681770528 653323897 239545944 172289813 758718196 852933567 557183241 352560976 467001053 845067390 795050023 601087576 654076219 392297479 543507344 148661756 916572720 668345594 443341534 418699579 159081021 161611101 736597525 895769593 992005415 584517172 305628937 319896913 579562790 616517342 411557366 338325788 719358966 906061170 366153347 491102269 663380115 778063580 763122757 967118407 941652725 760215732 769398131 528796968 203942837 329030448 431018783 981542883 326232253 403066871 366202195 223794861 406550878 692502203 910851283 277055116 107413024 722376453 699353039 678137679 518604668 457024683 836051525 580382785 959488075 401651091 153647823 485464068 203904878 631424245 629396115 243510296 505267151 826226100 900256631 635471110 200080545 200889694 524369315 732155272 645439926 412273859 796054015 984211710 527297014 349692325 198327519 239046862 487896923 898234626 794817919 456605579 360163032 110456661 854164601 155877271 999753011 100103978 570874329 121427327 795410064 273149643 229568185 974947366 126958241 159704756 539350634 130617672 587683078 535942291 622993001 338775858 499358574 413000360 267658125 954739900 266933262 527404420 323129090 149081538 818141889 859750824 657683298 919247526 519944246 604040777 677587456 613872601 618772530 688732960 970676892 992690383 903362182 378296474 354852659 685040448 827528826 600444886 178372959 729568872 854361109 366791186 337756942 437472943 395185173 897662556 990572045 206674847 747063677 106376611 994638709 157809346 523198598 114440348 444499123 457053929 865898578 712750581 843177747 627179534 150339518 933765061 483607021 777756988 362377460 252984339 625306302 988702356 324996982 870790116 950849250 809934522 580810813 968867253 103727574 681187083 666621603 131049272 356543908 233514762 595086677 162005510 172982671 764038226 861794225 170876323 624464338 463651743 714644771 473549987 559166044 992997916 611802792 651454415 360631690 233025246 646427306 296431696 535301495 776508948 692440498 596468158 783102152 540012067 541657134 736103542 806707586 313320596 979383829 629711471 814529773 396489737 353948683 964799838 317370131 509721455 407074993 213515449 267633607 368787371 626666581 355420803 850356415 929825711 237507066 943392666 361836465 796543241 963578608 351222034 815873305 322142570 178010248 115178360 229067198 579430946 540198483 398647620 741745479 162381135 222214231 444680097 510185463 960904048 350730029 130786250 940765168 294025914 189240295 789266094 686080688 154630265 812453356 768224939 524912270 603990457 324174242 462240068 733259379 360041918 204865811 999088887 983645339 731075264 111522357 383053448 504956306 478846268 923998738 509050125 387721378 180691634 365849225 533445187 847365138 405987391 357174578 936334863 213558424 844636045 365017266 631538065 744613673 844687696 952034403 798229206 369157799 942858988 322557175 541177460 499047381 771587643 785250813 474329031 494313956 900716973 160903098 703028511 858199553 666310781 414948635 939397372 127496293 247574778 892813355 321717156 381493030 217045873 404772569 435991136 966387571 858609674 531201712 214236767 184085721 379774616 234491790 156502961 665139795 654856272 664968325 381769043 949558190 297200269 351308148 515019356 451240394 399743904 934197234 674740393 360222986 175585407 938852829 621756646 467066064 266975545 225364936 386297049 155072752 146089223 130164676 834662045 686021710 951550288 203848705 223485040 589847782 442606286 488762690 521376980 716074233 785591842 825911541 641151840 198215718 460636018 536933615 219069416 237224753 177847583 100335061 282562949 195593297 650740682 518261466 331036403 170459346 635766123 526573808 439346345 432146424 428042259 984842749 964737408 202257987 629484832 420168708 519404536 864283340 882615326 884370414 343126104 642951540 178589182 812380902 207455372 504536113 232546769 783095729 344662317 734366102 610183659 776768866 795905584 830735149 590014317 943144644 344359841 281968050 414580886 520202395 428633523 171033790 987492209 358422180 747861226 558293062 200052508 847188179 804706207 609256201 310276027 960647356 305733235 658032067 588872303 211772066 344451249 710403455 114831090 307439909 323291086 848802896 878404603 209529402 338597566 977840247 370892868 200953798 175077912 209094214 395395083 763067114 844689227 814976875 557178365 750359172 111910433 109586482 645585135 231694593 824078330 962967391 742501137 535630098 878490369 180102289 284683033 270114832 792862635 297975359 731794373 732203999 497007906 760464568 602764899 338830152 971433422 860175982 685483273 561191728 446137955 937846378 965747712 840858959 846288424 722239741 722346051 719212372 854345618 507052097 761737677 863952078 575793183 678096459 582217437 874064116 163867022 993975224 899849358 733749227 692128477 143855942 330701059 391052261 214782971 369145339 235120533 663998247 371972068 453862810 235747669 483441787 378353432 125347608 171314924 882390591 465604724 117217706 606761834 136507496 781698287 783855164 461213749 373766528 771559632 457932143 772303422 658692238 193579929 804905233 237082109 685018206 519795943 488923577 805131881 746099756 350825447 656976244 807334859 815591337 365507929 897751042 626989242 270915931 929646674 728328641 290547732 294952362 504322014 141870504 459230514 434097606 566686326 756877860 884954414 658523393 588840364 878704989 558864198 651225802 773806433 620596955 613731202 491631473 872097769 996433499 944760103 750178189 530312848 324882426 759955935 776236689 868161213 697214745 695284146 966040817 832165801 668571511 621305879 701444760 287913301 161088223 186107279 263786674 443886789 868149953 865430464 614930643 481857291 233028913 795568305 240847242 889839703 616411768 817787093 718297705 204170414 372244700 193211491 870472393 364810975 522858056 407998720 579812961 882448514 171635177 468016585 279668016 966407023 619561629 291927065 564089618 257922196 890862278 336334794 548242671 275813702 247532541 921630026 406215158 174619347 744922926 913534708 200874776 714726493 911617771 681555076 358335219 453270766 112408242 953272415 713179531 781134648 775532482 645661418 548213153 938094900 294249379 138184504 134232699 670036679 366926142 749385354 891294249 459613988 728465503 911446835 335516357 126082335 975903582 882815406 281422601 430840494 157443999 537636407 483385099 239257448 588852976 167925060 121243722 761518485 647454618 412552707 618850677 113651959 983074624 783014489 291728936 152724953 139983000 463339606 458937441 239554756 717495037 133606902 162188383 931081152 849977975 893998399 772086066 289809155 660562068 940073048 760089606 353103292 973221738 365726608 311555915 401461933 949418735 558695091 745287207 201490392 301250033 654175369 316896883 294085899 486195069 435968269 316244093 682390873 514884078 679051642 505369671 222394786 963669137 784933478 587368196 787862563 963773914 519209023 298087050 769153782 881414071 117365610 302319636 590483044 825091764 542302979 635130035 302226447 791655535 634705357 208749346 422923801 851906434 423427337 280220191 393419459 652778063 449443242 894625155 149689579 673310723 297399541 638379012 710522801 739776437 965356587 531055569 717807947 191325366 260753552 883126453 689723880 838458865 106781240 769394698 741164686 177094948 690438588 871981928 681009047 935690771 833139733 272363245 949694045 534030801 991253443 748320889 107013948 210309668 308194736 491390650 811667140 447337458 647600096 412635617 821646081 167789170 376872133 554465786 486653655 928099497 415602215 104036848 619931593 775089608 116001493 111326998 163098786 260984903 343183643 704292377 545730161 146283194 485774098 584331560 608665161 891570609 792989124 181579121 665868961 408449283 781738042 633276019 842292089 939183631 575701648 734314831 890434432 154390701 747413529 937141081 468941801 104580834 671958750 871451519 533518540 520574195 197692175 491792818 941040076 696631811 893770537 882885225 293853451 194423665 283311440 151849444 705710863 564516104 794509412 676574927 582681569 945698852 331719789 521459758 394124587 220772899 190594882 951750074 795571696 763856982 339490333 897432979 519093308 530446426 726674419 666470598 694786357 823770763 965572457 444285353 985558636 240496697 331976225 578833878 400014111 759699368 667787411 274042726 649183114 120789205 918618028 252943780 175449908 350902664 389317518 474309765 238904060 711789752 911378575 958105409 665249427 177893639 450493254 963536186 389883941 317704094 817131450 886541459 645182168 718117049 363341146 623414685 179875539 280899149 806770383 687448655 161160195 912751627 422994190 110359500 711184371 956940843 504961107 531466814 877854518 399124917 969644607 531023971 531219203 811014638 246321158 644421785 256546337 144456956 757387478 309418462 362906290 440691946 591361819 755059960 240857063 565860214 488533030 593634567 774667052 796906402 698355632 713532864 358568491 735115934 450962190 224776287 118839060 584673413 952716981 662812057 565239598 576050528 111920034 144775827 574985393 102720001 585216071 768263198 890015165 231455174 150766727 106826741 602624162 415025324 270952668 735852013 520223805 457826269 845144463 975859082 491884087 759459495 883093886 351409158 728598280 547423037 289825657 211927099 603599042 988521939 257624539 663738960 342485847 447365770 229927998 795317288 106519303 940710190 448075013 619106540 273630261 978224510 618982543 153906100 216304574 356870081 183181612 907096985 647750572 741825539 631811854 972620945 314451640 149551793 188170263 381344103 583996644 829965197 177583929 604878083 597143529 843775336 785695005 459834698 902565649 339459766 906067564 192117655 458361289 958924470 505024523 224217575 214489103 981804388 479543311 394255110 893422927 841309803 558424885 241683366 363289188 275548317 833595863 846508434 112219928 773250716 766135960 933373339 367176422 430417047 274650348 553961358 719044860 671026215 556360391 320516140 796940093 913012105 922407690 413754128 346556975 943133322 807146591 177187814 390431954 984091310 950899933 101730331 728642517 625187564 154882252 573821273 880502430 863788564 752799235 796853342 363860926 207893805 896490555 772835001 968866493 558412573 851574505 160538926 483559564 851813966 219638590 344782335 431343985 527493145 754387475 551761206 991840303 595421356 912610501 652772836 777290384 834053617 948067516 656862309 229920391 129910459 663018716 776643599 260252730 993209575 108161390 998632463 356031948 777475531 436263894 840134411 158881207 188959502 578640380 213573988 131009123 954458201 607184230 493561454 859068212 215854699 271226035 801550879 248002504 391888552 194628091 125713143 801855996 802426577 514975090 951064666 204257053 937126970 783371036 684627203 564838179 715310952 311320044 229931526 245605911 806253748 147488180 823933883 965988901 731126508 868321643 793548005 777309876 211718360 397387486 204456973 327520732 486636980 923010658 151628473 920420124 501389894 543525124 237102135 201326056 407872465 630878956 343645498 120059043 993663173 803071367 892150628 692222621 810564802 663727598 170136126 917747521 907333268 108621251 190026272 320747601 854243453 790769570 535021280 741047308 775720347 941610797 114854926 890437222 142473761 905528307 840386950 121865733 138652798 772418352 823721272 940217529 861145673 552428416 509830954 175036003 186243554 112812388 733275928 882976423 273760382 549036609 149904169 208186637 366441142 929298226 600268059 734547810 155862365 358154033 503762457 165841562 156834354 248315444 641369064 521967611 246521478 672068438 404612183 395342421 562813859 175095570 240216730 939544393 266815473 170478268 641169638 261317770 685962656 924835171 323322577 189807596 287479493 748944464 915230910 959814568 219718578 138071135 500365492 542098809 628291412 961484808 162861920 162968747 922415991 265860627 363412670 798241597 140238146 825418898 840206900 620670495 709202875 616943966 112772391 279082447 905037779 936230687 650540010 482575468 653651023 858118658 413835152 937584171 703134642 536404572 144847460 752268329 510331827 145630929 360141070 577340096 829210893 510761251 273822270 502704468 400006242 725542642 958075577 627279535 237254204 154904330 740181657 243080908 175535992 652873271 231915967 435786322 102632758 133971564 401271142 738066872 760286384 699383719 878348552 250225958 780318541 149208517 613559597 606575832 183739909 495694130 318680336 623714916 394327321 850837051 960770365 794928612 810575330 729875555 518575541 381056585 347009865 815140698 919324085 617508096 684622213 886944791 738765925 120557003 418786239 780048005 210526097 700698390 941206781 515823862 805339161 777776157 408552838 852175274 421613047 210533166 354720326 697202851 116811127 771053924 398749730 932215046 432127526 240933447 613608364 431585585 216676486 721860803 294238387 295270781 746430928 394444565 157836097 332457586 362306267 951959869 705236185 727801764 157188785 908758165 444439809 208698893 503017837 231457180 726157378 861509336 368125137 728731893 225522133 967146895 836868264 923209367 556823814 973032079 276919190 960148511 631386842 123094330 327697118 606439219 248739213 634948512 944916812 890222994 502261583 953402896 994088138 164275861 152815486 340557473 392558245 882759823 458926484 438131897 225930642 964245317 295779332 518257913 438985862 747340928 243651956 219702954 498741275 539114387 447830380 387591297 109707299 284211225 693348077 399311957 409606678 551137701 773954420 972994753 418811014 865183085 853043213 422594090 655351454 708760751 529606252 797758640 999388312 936580175 598528330 842576999 766233096 110887212 122536231 204505001 952748302 446904023 680768974 327231321 289501617 391093692 545289512 970101861 558835385 427883098 734754256 843091292 655574786 336074467 697452416 900611431 536366750 211706823 595132181 911169985 755802664 838434124 877782253 276818729 911544246 491925284 281404055 221730659 914416803 782092759 167151742 844746634 238114865 909138175 973094616 915650354 149833871 758727117 806604337 626243096 114015985 775709950 196483722 307148271 493170602 474110101 892078335 134851471 835101375 549861135 379271456 131277278 827785609 932977658 346004268 785246434 143949218 913528647 179513922 673098418 970687104 813513925 543142136 974789725 782105914 595966370 830952688 656455164 889291070 206088571 624496871 984445435 377345914 476998589 879508725 405274981 500159176 782070291 125481169 665220829 982520329 557695664 644844891 168912013 301359960 546715765 315732549 581655361 673082340 669360527 327089605 490353710 797203684 691236960 950908625 536515224 779627936 558594188 970216719 707458524 232768997 911664295 998000852 636416916 602829116 628646887 567572052 278713080 509082721 231164402 702482393 758170389 664157849 569540460 421966782 616187195 787319275 188147426 322354193 855561362 816149162 813121364 916635489 281353164 192228408 693073497 967513439 603438805 970052224 747187689 871074106 409393366 738937492 947969478 928088896 157663818 658560417 103770027 328960005 656067526 889307903 118934455 938286739 745162240 363229190 380413976 252751583 658430986 536722413 798948815 821031041 325506865 530607468 527352138 804267189 723856070 110590281 168686317 282773016 995954251 360416956 849796868 954839906 673948921 946265860 828466009 712348977 285246977 198822310 664000598 734872566 517679146 320307792 249942004 941938219 870599216 766147148 128773739 339900408 467295718 214671900 823789110 570220400 251432149 482446648 821851622 378271109 382337116 174264812 488989647 682000520 569287499 329055097 659017356 660573612 522735230 536022312 895719987 640162692 153051138 761946572 907142606 265502837 809418259 204631640 875896846 863918463 362415354 661578881 796241038 755627131 973484197 972188955 273885592 421583432 885504440 668598831 337251311 279092194 491623920 230445612 272871346 576340079 108259797 977091379 219776742 104793976 256568857 986884908 136920652 783174751 845103965 965296389 452307177 119444862 359385185 959039475 712021750 828073097 712956216 878060047 264838647 613452202 249067061 560702409 597545700 844593264 228680494 850715529 594208663 814435055 696218280 947751867 165963735 705989549 633793189 385950091 847625399 229800891 898367038 312328549 799202299 261378059 692861914 614717917 909698259 408604582 299867925 191417188 214410982 932291685 285247187 370708011 804272423 910456364 436017777 995437717 716180887 516792770 220694309 523322048 548134827 564557853 611048357 784814246 520868851 779873936 215903139 628141506 771839500 742909977 483013125 782661985 279927601 913801778 561856850 626265354 559889884 890016682 372397865 610938906 674263353 589773283 651234454 709988798 958262204 320031018 931185023 498145899 767406946 964703380 795417143 798746943 894196579 349225046 486779197 256214064 772099118 509513292 934083924 281753480 352886125 168981445 280047842 810086878 297441382 169656541 184282934 176363048 463147309 853821481 104341012 792538967 928989792 931607755 165479365 833927573 139134308 419006382 509068734 940389147 432095520 199826120 667015067 810954276 136039108 972259368 453465928 568495254 905411461 650176054 337219650 875740605 991499875 347392168 310322287 183177901 782556493 291104458 239784810 466968222 760835967 918650254 843046892 206478898 920768549 484096002 356104172 681066903 695224167 288942753 410622649 405198046 756141030 416911074 947702351 171379888 800027650 527553679 449432774 676486998 162217997 926305529 154324165 425749205 751906909 898182767 463207588 936017958 864755115 585114893 199312466 134224228 654097454 425737907 588248464 846764709 730538124 990735881 904344837 612032096 769790958 251744683 652134780 629254116 790332119 489247863 213319286 631676270 922998035 259546802 127795925 340549609 774417426 592355175 227709141 501061848 495338878 894969204 742717926 926869589 967981112 515589322 862893233 193841837 149449800 583631805 578915796 428139924 797017027 276722503 414540202 971205813 393556350 682220228 104690775 907563219 649725223 504164912 936632588 748888008 897520296 797153434 722849706 613542303 521133651 649352233 726101665 576723029 165273488 142734682 184792245 758086168 856130767 247414215 179803003 445545507 796376064 379303929 779159046 310672738 142909483 715502297 349493491 766407721 358467364 174340260 573961208 854189538 865859631 707920792 116858531 915999553 645654170 419245253 190338505 790758180 409667275 265820736 379669061 696276690 268620484 555369679 613410640 890838005 519505956 698498167 276721705 996322990 382525449 772460565 596857768 830775442 873821791 223541615 561302878 162766209 347742263 746010491 245638528 386825590 925273980 215214209 459460290 979061776 387896337 566925475 595176343 415820272 358223495 285759623 309481791 561022231 395464950 363310694 811379127 734001556 381245771 755529880 695657675 509062912 291881629 633818852 451334431 882874883 179653881 671448943 257744955 419758686 994884683 245243060 915900848 646061977 610830178 658004995 964206849 162258134 284738824 729113362 595910109 470151963 150874325 841878013 825685295 904396840 792466065 907004140 976096629 186426750 698052092 773687358 439578933 999438275 400313267 599082740 912940281 255015711 528034082 993015913 652133083 576120947 591697339 284820031 339226569 176027751 481317294 387613703 653019229 759141452 731605514 271119456 939373194 407589387 985783767 729447422 712771577 124669140 793114710 144894488 494169899 598284986 958833986 255166080 567698212 914014062 457381356 256066729 615296994 484918408 166536395 266592141 248629129 789265151 389935506 615092752 588328192 154551310 255037995 241395237 699915099 744880145 480629112 732673199 549832040 698108577 741438001 315230570 736713405 986862759 726011787 271702302 809623607 966041218 831276044 251265879 874054995 763185419 616813923 254103682 308778124 475900582 269995161 802371400 490200454 177926671 199604705 412525249 181010384 501341992 270384676 653701313 698390430 129090068 585565343 907174646 170935003 903525262 498881295 722224738 837923627 386749287 260573355 863265363 548492949 604316261 353449220 213377885 641336316 361678618 982635522 931080833 831762845 632355270 297355900 274165599 512532851 920494680 875067170 494756106 900568349 443729330 278388241 398216264 969232418 484802892 537188144 605695686 914148341 815363578 760650969 864579834 868657677 514887857 314205880 979269682 381596760 155131290 269111190 182628301 603911787 221953805 802412123 565110114 856706998 758196432 304110406 190767099 252828920 830232929 977761165 142092630 345908081 590818247 671097133 666722404 686060086 180718208 774077968 183526987 274715797 534485511 301729647 216417910 809611914 706623057 941027555 745697276 344124847 852459233 141825709 544794993 285830033 735793353 358747038 883711530 350882536 599747635 644092581 948679262 901819651 860921236 539422108 609441381 607376589 763550453 233038721 605577393 264962589 556292021 795885291 206834235 302603123 841533540 979517878 214177290 693752529 285167935 719638948 383169611 359252496 987277960 506186826 504404246 483158828 928922840 879203340 956570879 602766627 810061659 717591372 194615898 747764327 153459407 132489623 542797052 783931383 976170542 905653018 590272622 618656682 184257161 792769848 681959602 649479630 400897898 867786898 154525268 152383900 290744851 291068351 540548191 751492544 370919122 396210635 732336454 991189881 771315760 829324302 225679677 367234071 365819911 930130419 342077644 116118494 221727289 915575501 269839619 673719422 438845656 291081997 670773439 660496914 822028131 514849664 432492796 452006318 140121572 784825866 706041424 493611062 346454343 677187569 945310197 789714483 573056434 697385223 260026275 755380162 895759814 122206418 747316915 641170431 609619838 601799228 311065550 954621270 587122422 985219826 185401240 483836210 234825107 578996675 427526079 809409078 211828163 857448980 112748176 161441119 381408789 844072145 708233388 980228330 787864863 884531366 588401377 526485800 220632878 918876896 245297800 714757880 352729758 494044043 229123038 157888473 605556616 665191415 804700557 575241493 263317020 555107996 341713997 654653804 467628182 789921863 610562639 654741800 252296964 789459884 737540574 232309131 890384865 629553758 758406011 596115503 714886592 257215988 368753254 706588357 153324794 960229358 375527060 489017989 471593058 492745841 175213056 218173146 992401707 397244403 117161442 861773552 164806364 268668246 227641536 107186555 461887408 329227631 447835936 267058422 708234298 566508301 103350135 763652665 478134677 712016949 585164187 864837054 929148399 929605804 858354581 793916629 293852221 269297540 805459641 638927648 996078133 927966484 465513048 217648794 548523735 949652110 138222359 745909440 728474133 247643525 103494953 306954555 234874183 838141815 297144415 603599667 511300903 808162811 835197123 724554460 870919079 265456033 309669588 540098801 474603677 271821424 636730561 499398680 776600565 584132639 260500109 314639956 871092435 746526336 393086037 126671323 769404861 251334109 334026391 389222137 791540273 388864654 192330699 826420066 950146301 666769233 257122041 286977902 887237905 206794161 631867238 236375639 563366173 749115063 631110264 188669248 314065909 814964610 955188583 631954888 719510326 914554958 601217710 414996349 212693438 430492048 340015192 100219605 338043254 983416478 973377934 308084856 839869267 353433278 412388783 372097482 984390267 135995336 226196756 662967748 614305201 186232643 792583522 737537017 865302383 615154814 464373218 231612241 207421147 615554671 472921453 315527771 473655330 994076929 604504097 838118525 500665653 271770513 805013672 370607578 256349369 407213892 983280654 875059029 158376777 457736084 501341450 450819916 853904435 913160462 571317856 614778700 857434941 914080925 430832872 451385155 887140828 423927196 584426622 171399613 452862559 220288809 839383118 780751275 176902982 768886353 800637297 865524984 717569122 639266978 133187727 343003754 692241608 938484240 604323058 741435861 829737063 787065059 373966981 961171296 365616967 714674030 781056015 170546083 109670431 709972275 497207797 547420868 820039988 959806293 436451157 197465989 406988594 132479370 233146414 344750788 421721969 878064310 388089009 361570142 849004178 727489729 961876028 902138383 211491476 509536618 631467724 162307971 603019094 808663903 560670776 230382432 189212740 728984035 808440882 997822242 195297636 342059039 207128490 112341256 986789366 182517456 337582877 576889914 486502095 301528832 851312349 215255533 519257333 634027514 753965919 398271435 404807292 519401723 216286858 567112399 691868494 142660215 189595136 235411629 354033658 398168220 616411457 643270270 679157619 656797889 810442882 397072431 303873688 960783810 142827523 356213186 902186708 819706170 236645407 163080006 601882061 963477284 119175170 522726519 974548565 441106524 860522106 115589822 753918053 821506551 925113770 559322810 273115326 608402160 307665144 866809455 740351253 895291288 109521604 398538549 927420757 385204720 287302625 319428195 967468611 934903336 382551818 350941386 234016515 561283324 311308985 740712817 257503369 904111313 223922453 451910662 482003489 623283336 239987914 127229126 399355419 525497500 614648247 417359381 620039372 487351591 786850408 478810182 198879000 669046017 939973048 964881458 318449638 295322280 694947809 598211359 983802692 485708586 647536946 206595076 385558957 684568013 532029648 639424255 834532564 217264635 607201197 228701799 685867636 602857323 275700262 991807683 741002759 680573330 203438795 602913497 659667964 801629953 822746753 923700251 685431015 167572284 429400153 501983268 240428154 773272226 965671693 309703595 682597061 822599766 950613700 519968918 185562071 117610836 215393786 607042342 785665460 717627327 168971052 916815245 616785514 145237173 912002200 265952903 879300453 959393816 491720306 714948608 350852566 415933152 970474753 123384343 802850967 313205749 176495439 696840557 515016042 972837420 782566517 925527484 528230826 311432277 442733498 528024288 391707236 733314724 813669779 914038949 319924294 497467060 271338398 515817293 713111381 617825404 755154650 928177699 810604873 863246797 446035157 159454925 666513070 865791016 854446989 425855829 579364226 969027328 749410552 180931693 939252103 671803643 350977962 549455092 673271717 660490878 956991149 898712747 581407099 617064700 103830391 950346698 945067401 897175820 743135802 768690909 776498289 391794106 608848407 629220525 945530221 783796737 525515552 412943374 181371970 219927170 715993820 889682781 596727853 930002367 488823932 655647914 844009993 673775512 490414378 315155475 123526579 706688287 251220601 430537422 369543451 117034237 458076644 461209510 658621612 194941907 476068362 487406463 445913621 426160435 887459489 191960822 412893015 546656710 987361697 472795683 518143985 749605892 509235072 145206357 845697393 532169470 563111986 148621411 400977257 948971165 695486931 130690989 992774577 420844454 782662860 875573575 200090875 720677881 172018814 569611946 284056677 527318967 112194193 849219449 158987083 419961504 904365393 455900624 407523962 873064906 709293983 785457324 948888450 291341388 532781960 489119673 142908892 867840155 805165816 484899686 854368188 661650611 858463974 190636680 480161289 101295558 149835503 840509883 944450026 569082405 791008994 974899941 916074397 631979596 698983372 233509186 813305794 176548440 247494312 861156149 883321293 316145706 645807144 632088619 183039999 735272414 982592589 584348449 507679086 156005903 545053866 399459154 255820913 943484363 157752428 179489205 817244185 299376167 824838585 218254531 165906877 759349216 379409485 853876750 452576045 140743145 610924314 410666154 397117131 570886837 951817036 635678252 630155816 534176143 629665880 229593284 738914117 864564744 913520729 462040286 961511096 625762172 583270178 648713220 743782320 923259969 484659137 711327451 639905122 324950387 300705749 139752466 414934148 356667314 874089750 555593534 462360544 831291677 950325997 437466463 911842060 879348079 710950848 834576377 632798371 745076448 252219491 912062556 707677333 550442516 644499254 731161329 771844348 408425679 265282719 892380753 127252329 299901247 360588589 324259101 667592914 303714296 498197194 990044473 348660945 354056345 562934504 490002205 716742477 486071873 935175273 396036362 826084781 622572486 863546998 425437657 885431517 503606143 735804319 143770509 812509163 265978266 482105441 287419602 946178179 316651932 515623037 622846794 547693013 827606679 871968344 832147522 402777067 296722151 770411942 459358190 597879291 790198507 429100967 989795243 390999327 604852390 715486106 350766914 794593252 161234240 190622196 103213551 997872216 798394469 241976429 428913077 568265835 460544544 387339466 574014496 596401469 110285904 936871901 132282307 657013925 977977493 559905522 290341980 122910785 627420506 390652514 944795305 170966756 686772569 729078070 372370468 246665982 227947912 960331165 118677313 306509898 805055970 994912527 114320714 662788297 428410231 604001799 350215808 394898958 260883511 489573181 304555152 840603983 990128802 947955933 574955662 162382236 326358616 880248340 601661258 250514178 486802532 746146077 927034997 693828080 638744554 449009970 136872390 859070724 261219607 398251535 110882032 298096862 577274360 607167294 171555068 832827953 923675872 788170596 344170154 886081598 634667405 970704932 374585936 773264438 235870671 570412812 264997518 874361222 614692999 924740908 403878716 745863501 469404486 573204334 875052988 698692244 104406528 930427324 851769416 184082723 846594413 945375709 932746125 950210738 274807550 864300377 841661663 401454424 123217221 793713425 932230834 423730011 355890289 430261139 659269220 531007160 232907437 659277515 757640593 761059576 843344162 193428365 455503025 333259885 929236003 437049103 708175758 645779989 372781934 437362448 253474585 906128265 778103137 114807314 425002972 492164955 350097062 548634844 719637672 933157108 116357294 914564509 979052642 440870780 779319663 943661349 571452408 730216217 373742496 426954159 796684891 164072796 488584081 374724296 167454536 899577013 583956303 442435416 763569782 625719119 274620937 726371399 749370313 100354418 610006390 688935422 505373819 328198215 846937378 871912741 962045528 833395097 217911523 240380996 578742830 938063908 383002852 657865460 312432338 655677420 404585178 341151478 813113786 299927729 459913014 629083828 717562362 202300366 514242128 944975388 757470020 532364829 395925861 361221706 440489595 808940164 496516330 364876961 126308169 747195310 152049554 333467986 887205697 134240136 377383942 727645326 339364526 886182217 572565479 565939458 349426901 675683943 169014877 650334054 431095027 753515433 500071569 762835784 546939733 641287346 610603299 738499135 429883290 304373612 741274476 108150051 552081979 465653416 661140826 493836254 705811667 488314151 807648628 533329338 881444908 727189857 224692407 481279933 842124217 736698676 708969120 641484418 238044545 244296552 486776608 648707023 251526122 462159407 813743672 421194974 258557222 957566825 748690175 965929757 520466002 306886445 716323455 470331437 350813174 579096214 217377432 669563620 320066055 759569457 401000691 724634355 794228786 868115830 503702592 481558305 389066805 244946031 721772131 892622506 271416384 904382956 355559445 637245675 298646418 327976734 667541202 836481900 698592038 167492626 253961858 124120060 438463123 347589752 640355684 132360884 387397285 633300764 453604570 215010136 467906631 974842920 904531533 642933550 969224225 973645282 422259689 160337577 538579460 121868357 100034327 106940295 204666544 215867298 730141489 895014911 757561869 429864365 401607986 476566905 927038560 973886683 915398589 140601645 143269223 355644077 736570941 288487340 391287904 845739027 391382147 749452856 330967757 691395167 734361740 112484249 711890797 938929092 377657836 562794281 374420062 169346963 674932658 310058585 603218554 909168661 498655353 579257955 735129521 561095864 664206651 722183070 999407034 706050948 854753761 759493354 965043934 643865145 856976816 519669308 834643738 848137323 866036266 665111578 822236462 255838278 936158600 769418972 657772931 683624351 224801796 877214870 629576242 486208666 847142040 422641983 173500955 394422788 960530576 360661131 753290968 934274139 610026354 656834584 611444328 332113117 165080468 859659719 344285082 216745725 870024368 642765311 902205559 936798187 217533777 201584964 815552810 476150479 807993358 445907602 561047888 244848220 373758335 728829082 759600305 701174017 202401795 948438739 883335628 204505768 750431171 704514294 489476597 613169240 614289409 947939793 378078113 429584189 702536662 959602556 833416385 796205174 349821190 473594471 791693350 771544960 890471590 244599004 575235228 579992265 217215092 775849961 293740423 367351804 142470367 140245605 436199955 892860636 812108927 654076192 463550224 224359161 517400594 106701838 598555912 354424578 612146405 837188466 137803891 333382041 197325839 857374264 408819355 864867682 462941341 999810610 140667067 428421325 893929246 449667142 335880525 212333524 385324494 373279033 695211644 114703481 718253646 921455296 187622456 847168746 500458828 723495664 537705672 930183532 367350741 228743028 380782998 976302568 578280106 166252985 122389481 607591549 220688064 829234148 765110096 988680480 723235173 311765724 878076600 133936921 200255674 517155102 902995529 588387566 632765802 926785565 681788500 576085429 689177521 949195114 111273119 189251282 959410446 436500714 586101964 585014511 849994135 626848938 713462870 735592373 132174678 458183262 165092196 887252893 901322256 279654572 965853487 265673681 184775040 726536910 696865802 222350692 583266408 222974577 172332537 106685760 546324775 217079895 410624528 118663844 140818020 972875194 378798445 932413404 635132108 675143143 844860520 868200317 659070405 122541144 501044291 140170031 263839691 465249613 513002688 984624406 753972265 610130430 892573026 878425337 432719816 960675511 743129098 484288395 685631519 774620285 785853322 231481585 254188938 736607530 740482154 567121583 441141671 151303431 317305799 618945460 922486447 537949099 603302198 948568789 776262293 824020931 305583557 922829714 756178322 601113656 669388017 583675654 567931109 820338111 299295172 955164892 426282907 686807984 952660828 179457807 412504695 796120381 800388090 269770587 834809781 113291371 990910132 851444556 469455682 103180693 533851158 376056062 721629373 702490601 446799518 486363678 922574938 814640626 838401048 755368372 593235543 859577995 569182511 501405305 659687527 842442241 534017962 137785255 547711090 992766825 905985956 852692294 497287158 411237912 504817718 774650979 389208485 634830602 199195693 491137686 364438791 812426603 747811599 895065360 218499941 440060539 424307818 104410833 351475903 328053211 322642611 944925522 727134478 868090518 752774285 820317683 137369732 425255163 656125027 273968237 161176372 660323116 384314022 549797368 360853508 898152924 970503242 764606128 620844436 320491813 557033470 486349457 223621423 906592796 102176271 671037430 122867881 437810976 626518489 310257384 117750277 411170711 827198638 628241829 833619814 465029849 706195071 724128202 996031322 415739422 793432571 294436307 873721608 493295475 405165248 542080285 255982238 289762882 226582394 139585595 319887718 623697660 193090075 868815128 873925062 689729943 810667622 206034027 875511534 487538374 801815873 476677112 274470846 134991662 820779424 362661405 109639303 725668418 397676925 542306195 884472716 742064170 781735077 993909552 783737540 842402706 487663668 868185865 534646154 329091017 436011538 379807383 389584569 344905379 808847306 375128644 325399132 556002537 903158255 679669462 894052603 908270783 793343096 356776074 258153879 473383858 541035766 721870297 321476786 952654683 231460292 453583237 419832172 398239002 345114469 271504448 112815230 167498639 358693218 176478737 564624318 294024056 683305301 355226882 761175019 257080806 163921238 674800499 467372809 584250460 479726219 855218361 421221491 212821893 218904278 549372414 649674615 718218291 836290721 755876805 816705578 677162050 287005729 999474002 589708250 859267981 547452596 891909396 331337751 413200770 996059187 769157355 885901327 172125168 286533708 158841841 448974691 220855079 459577491 764863037 450010471 727166468 777782110 712087567 352839407 519586573 715440767 174244581 690068193 212031799 612528513 832592734 218064768 997043170 963939114 931975894 570259009 886740026 243746692 164942087 894639087 243583866 648639358 665215959 858678063 193857725 788991453 167314127 265220389 815480258 517438223 928950294 161158394 802726406 447879196 184874678 300455592 911784019 778599607 157991381 111176826 811209900 506946564 540353572 732658091 438820242 690241392 941461798 124816281 204447498 947446231 733091141 748016102 353863288 833802192 505776829 396508789 725250885 802593842 634739263 908524127 700482961 282778831 317154575 951714692 551645912 423495548 191632959 778618870 377870155 730793935 526379169 406505760 505452671 296539461 408543183 460202113 293561124 472952729 374909693 271585733 813692618 794211478 101472621 615215382 682203256 328087950 767828228 435645298 230593372 979764635 680809406 291915477 246969389 950907008 334199478 512403942 247738912 583325436 211612161 274448935 195218094 112023753 746764250 571586456 787192852 935219472 934650789 329766335 687732503 862270434 466450430 190048357 929747437 470091744 811376610 930609592 816018050 787512230 588207580 935600062 961967718 290957878 227222248 654879754 678421898 135579880 409158999 837552071 762784719 734203355 884906571 609771797 515098684 920395089 812276019 694137659 110220321 383357069 443577937 177376236 964819259 909564010 194855436 888633106 783963485 739606095 709382332 284246670 252627469 508777068 580748113 797337575 663408262 371310149 601668354 957750800 129822578 128333839 160844692 808096242 541208664 709826942 967687309 554505546 523098780 916836345 945557084 581331314 978028487 997983047 290635004 189687436 144210870 387658605 454695562 252959441 816794112 691397396 223282406 834244760 939584440 484077201 163814847 914990317 959332326 318742112 466552315 984409975 192379482 126191108 776387633 351430097 453681232 646370102 513997743 212756780 195484927 453273845 886776553 104587186 393952728 253788162 478685144 256075804 641503061 379495207 456468144 187243358 945500886 858148976 948574297 664284498 829948358 142906571 156494671 920039360 335812866 782873281 352073288 726962930 687022093 758415646 607647562 664370550 258279954 409822789 518642172 940889686 830428968 819987540 489959764 627565020 206123766 533352678 168451681 661912472 731690669 544157357 202062321 948068553 971071503 279293018 249198696 351014340 155186633 802657603 754181230 898527605 658757009 467330562 403076129 560198571 351290574 921253270 897466907 704778658 202935725 385976019 193122804 974333017 153318391 579545494 397106007 644823378 426960971 715195235 676257466 253795837 486945107 159788080 978650842 438596704 345477301 872501500 859201170 289767212 447120436 619667399 141863976 730933918 274305961 704767451 305619317 709965145 287318302 602686706 648161863 981575656 600490270 932198963 839550423 125867746 618888758 623121939 665163398 799674320 502939861 126772585 865403984 726269356 335877596 432255955 630325213 793491460 525985885 165749434 486125564 114670603 579005967 755740868 465406586 680769502 932395652 749833389 811694413 306672641 426212597 148197697 934257686 589003179 362541271 969702157 499040135 335696236 643975790 147071121 652113375 256214482 809271279 156588941 794686693 467648935 258300433 523700141 979429255 576582030 519910121 514925914 528599499 645696611 508436764 256738149 451448108 818151347 896773172 490247642 736323954 176177400 946567233 689074857 526312130 277234693 956746685 259375063 259371097 123609772 835736550 890217584 892371301 645097809 577406367 296304565 855794750 263839700 960790907 600355063 297468016 872022445 641198957 259580999 252186550 487438638 387026162 354299270 191823277 387818876 990788593 491719768 759871894 616169868 936564975 825928926 351045464 266155485 267734762 425071266 736333036 808035767 861531853 357725235 985248648 725052320 297126129 258703553 570773021 637129838 159009469 637134448 745092257 849758041 252908225 113749199 649611094 603702668 157943162 796437540 939879518 928500417 404934232 358624348 933206064 277720016 206631659 122874735 896512978 443038992 489287940 905008720 382112205 296188769 193448129 867726829 648266533 475194411 918433983 905430533 288334413 903887250 151783753 806067077 487852858 588504990 909796400 394953428 424020885 450786691 492759288 145756019 164252110 654825410 785375313 720008848 243200249 208714329 675976044 748883439 982649809 470944687 702351831 828136543 134163464 543451390 541748323 577471217 743179927 366638467 302492498 283187921 614549998 366157661 268502548 128552890 608366731 740767898 117894376 923192539 584790258 792683048 855235391 271259151 448634510 939560560 188784459 258492703 715995308 128467157 248812362 363800410 927384343 762333929 954776009 705869006 462655344 114432138 662540766 754390137 100996295 528821899 106040143 311560353 667796606 833207102 564855188 844493625 680983833 236891051 624773296 495688552 916887143 286408449 895152317 675662415 725450117 921411824 213412222 953214372 566954219 458714604 385353157 177450627 409772645 258796122 352142942 334064751 831785229 766783648 288198225 927857909 194918202 907917983 408743876 835036302 595075058 139109278 509860451 375340570 763750182 525261873 981769347 369950344 246031118 155697468 951633156 536427974 767835364 550829043 824551046 217315937 632262719 730046144 729284141 181876168 896953260 388795579 537481344 101338813 781727150 583167327 239233762 977634531 987449014 916538247 714238531 528784635 161837318 971698446 412528431 519591311 619993272 967776654 919979186 780783392 243361444 389851298 782651758 687331062 177191380 244027527 355337476 998250803 111850800 372564787 627127892 210790996 746063408 652402957 585603284 467879143 951963484 396957279 184566622 477139359 181625264 584358093 508878231 204833482 158588710 871129017 332573088 952313629 131241645 994039067 113210975 964440851 351813354 406262755 736157873 323440943 473265732 170157418 885719198 734950244 610332523 783536926 273948191 339621347 256007934 227889308 939801354 350074981 624450986 565669174 904972378 125331846 402248272 351633651 181803541 341530431 223289008 399538993 415238169 407400844 263378451 727471044 567974866 120201454 273310270 422854309 446634910 103643861 388638144 256899549 400994721 334968405 810572660 463042099 861430069 340376704 951522863 592889039 785229223 781480744 679526419 405527032 607982373 905809575 593613432 444264716 676282481 207574032 842195704 882248924 138763254 317806287 891527796 323964269 731379007 691127567 185900403 173729318 708602754 639700148 976654883 257154574 297146519 783178500 233554787 785929317 111141039 991306710 192304982 750021722 716997612 496718160 491023689 689052064 112290426 505170269 194129728 668414671 640422831 117363782 506668341 978151578 132210186 109488074 363930111 625155454 302775394 483757395 908063622 137795582 371551505 633269894 684957925 157293851 414189738 912682537 413150488 959077563 108715586 642663274 167966555 350333249 758544451 485029768 453463124 152365561 448280389 744191766 820530299 801120437 944387248 320628384 119493381 201605787 398868641 125298265 579533272 268361475 190979393 191125564 585579736 395503970 550297278 980140248 185927851 316307343 291483020 722469876 395146044 818587718 169214001 671723938 680000502 861557005 379708540 678110692 721359925 611805518 789728071 950073920 321535386 323694169 428827375 638747969 793951057 543978933 762798916 879015370 218917200 405351918 633980149 162056184 174863135 662953571 530430252 322277155 399437044 346612765 713520320 126572101 205776370 482459241 175990181 357793667 189063046 792757566 179045027 708245956 662025875 653476361 410514319 117465429 133768008 778960982 542579201 933425790 443418091 224534485 366625053 800190068 256387706 168192404 704630469 272653775 165508927 889618229 373565699 580392176 910472641 176787641 480312417 510126511 875189021 511206468 399553531 103578641 762436180 585799198 120549995 801623860 837517144 984268806 400502588 381055140 442405841 160092493 508949804 249245712 804118202 281051997 577367075 655980614 168392574 360376409 268340706 143268398 889517354 898310129 486737348 915710238 784955663 255640635 743517580 626203053 650546269 879285710 691070320 608985498 644195653 621814954 627521264 808932068 963194946 355912323 351245714 967359182 224276954 125205201 404123278 849393148 468916130 113304258 188163749 932851529 841408421 220390397 159298627 575062398 239632939 580251304 823064600 546612602 679576749 939004081 826845393 913086048 779576840 569737953 120630186 844823055 833318585 394822512 319731866 838206423 908701104 319547795 116054789 338595915 723681884 812183295 272294665 142288678 299176998 409731974 526759844 125036784 294252350 522184825 428923602 296490174 792940809 962855789 814292907 865836479 298325842 684089297 196213824 905096184 876382764 218074739 890850902 272721656 158435270 495307932 831351326 545891592 782884814 535784929 886466253 920035758 398521223 407533757 280392233 201861471 857834109 136287355 263087330 966637639 913886873 459219514 540216455 668044654 333035982 333517483 483427769 315232300 253103905 379295309 528301441 961839009 158072713 364757832 477899387 141343417 174210894 663738092 761216412 722394660 503379400 107143223 644900368 157871197 593839501 423602540 680506641 791805224 497187825 914261609 786730661 852282919 186693907 253897002 354618590 869447627 629805211 945375780 943248712 904964185 159788041 665728556 544649785 387190995 735427626 599811327 371462577 976831553 382971106 282630463 440774726 183971495 657468600 343640729 898865789 502752133 338351921 108140221 465438938 109535212 377601478 775002633 870693492 506035215 450104062 606306895 234149074 250516321 785656754 784917908 893396260 164583568 944586482 526677877 507657327 681056543 808025186 197448678 304500465 163473594 301236884 874633702 762323273 617093453 492619877 647463464 565815151 941666620 415610559 766086326 345402136 892968435 421273841 168387655 794230400 611712312 511527030 819583073 719301404 890435681 670734065 751755294 811098690 152513654 118770310 876183456 850098030 785418950 650222137 552198786 463746948 595091619 527093381 105488559 659672475 200280094 425022771 596783646 854644860 102055939 466389533 252834301 610602764 895879469 156447981 788447742 374416499 281820814 698778309 553653313 661825734 349450658 200544384 742903423 620817271 499812142 318356057 279156953 785864023 636923136 100142992 488718876 517561511 304453157 818369592 782457876 884855107 548438450 378969400 223916504 316801618 658459740 725725303 715420440 469537502 804818089 779347797 210933617 484772177 131692060 430162404 985476062 458434341 136203068 260281280 530601970 670601125 975841194 615690403 498064757 648723858 250910095 702224703 872308150 785342676 620896685 149914356 683653593 191921661 922629472 362818871 445159122 848738781 176964838 567941202 509849327 201858720 445764443 966988055 965060279 669356899 350693939 552555950 885298574 256042613 787763396 816202303 340037430 371464154 719210233 719974161 653758684 256568249 871245106 776423926 717994433 340942377 523426180 554923044 282079184 222512136 260511730 473076765 313434303 733306862 761008962 933971713 661587879 769229378 496839690 783302238 558252884 155535513 161296106 935075059 532325539 473130910 948612456 767869583 118999197 297423544 634091058 868644098 645793123 736649595 345112480 293712466 680091268 835161018 983166430 989247116 659032814 893957883 481047726 178945061 926796021 871679906 857047775 152802847 282164556 657674253 237223694 341553440 740580462 758832364 690254372 228491831 455299368 828946536 574257359 945155597 256689577 897335467 854111407 922936262 826075672 202171324 155367975 794131737 632191371 117812776 155239356 852141084 187439208 162344868 211871098 472521730 942291515 540669849 339140400 656353326 581614499 570582196 759039932 185648071 936812706 848025527 362178645 674825566 519075633 781166287 202902269 886096202 681297935 706201558 707648090 907316692 518735389 506243772 779409689 699894838 267614872 211373474 396782009 488178718 151111248 852878048 435779134 650972971 491877136 447061920 994036716 199335563 853258483 953681044 912443047 339028014 728329489 618180661 495154631 573693332 452859746 365235899 719905767 397043420 568717854 950769355 218950370 957273205 287260824 946391587 207634895 910932503 833282668 828739412 968538918 556847194 512157983 957447353 495690954 807066537 308624049 693891346 636408014 438935316 946612610 907344983 991514481 279749061 839811221 220865678 493109214 132988571 358814593 846681828 998806453 270852202 161831514 293412705 251301413 889867566 524099957 813028005 174769721 652121069 713065680 234154786 215273430 385616107 584502962 147139422 253959948 914475321 748492511 865800735 809858159 847262281 252992988 415499104 739814592 966864557 393230307 954660409 962388720 524816858 344980517 899609303 606490887 986191815 526145245 362169522 620584764 725161172 238278460 420749821 760473340 430046655 877205230 479100525 424343883 710061607 208702635 786104274 657697039 417108118 656073011 579769764 814874681 137948136 581080457 603670040 289359895 721739100 200399933 753862414 631665524 759758652 277697437 396243914 279520207 610185588 813642044 988386920 105871859 872968423 959094193 972735511 228454866 590370612 538121073 956709081 352611878 946340010 936256336 421181684 289220257 841954449 480125283 782538824 635075541 940192207 581307025 754272287 170104816 989733207 784391592 161942296 557625166 367242367 307114433 209866982 990893128 636504070 517214575 976294404 123829906 850452245 580198326 816754852 479782325 479177509 744399915 383773373 755548431 702218750 607179199 618276378 572465399 924093164 471516550 918715035 779908952 463764435 317967285 499959865 541131709 627652786 449952181 926484793 305714366 902381062 723918342 374887124 488765913 204305463 829135583 166261453 186604623 495665030 295110106 993365859 382283529 644531902 670352505 979499410 834721974 383299053 693224750 931404682 687004084 129153796 639049633 819709858 615107117 597488360 225702466 374967332 566383550 282909612 452216761 920692968 158205814 501908195 170471455 469195895 285347068 718476134 277638242 758250596 994080759 406378061 140571745 165935133 240155732 382001960 265810843 509631230 501784066 760232405 742883885 779780273 295410967 575670148 483877344 413730798 337206334 178827909 388645396 159237414 931581553 726714076 454405210 443334584 759645168 111970880 716944708 490163204 770004874 719347021 416031716 461833600 570808271 666065543 444783626 346703111 148978943 153592551 616968922 456618017 930962678 947402003 152525518 447505982 570379079 989361904 631270123 422406755 236951497 405988599 446882253 607253505 415651388 985940423 997638044 138344945 988484322 628518624 756154697 284288190 543905342 740917635 697641819 326301276 825688915 370390429 488235006 515635930 886182645 302246889 146579078 633892188 350965950 472516902 100127595 723429730 142289930 842443076 424696693 659988071 524969009 936974346 731029378 908091149 485132278 340264817 859359309 335483818 571506432 445676299 406062968 584036033 577311069 241037025 591237811 663138446 888176188 335236315 719365285 949145703 570365583 425512676 479099210 661894934 805262715 357948498 314139537 461677717 320569904 794806348 191340766 919080737 357187812 922168901 609405584 193293977 845122983 294741147 550793119 890418515 158967367 173247538 133706227 906466844 173689210 891824879 194432864 621078716 775272815 879478274 531318557 169964362 283959594 520212570 548576864 735812753 455953026 119417857 179672033 688559606 990761732 625544293 660619008 917518506 931419110 881360473 877242540 706264381 107324789 514922565 214425664 316517957 397179667 198284477 966558482 916438590 623878982 272999513 151389046 973699888 320419794 390375399 746582904 926263080 625515829 192541839 360764589 408160225 770037947 859775298 774785551 436413633 113095017 723734570 910293132 801196079 233733961 726983976 475939011 108936880 145571322 569967271 662172305 960990445 506685858 701388581 725800432 160913832 508183110 421211580 979736523 198785206 241220116 290417791 477821097 874476878 561084935 613253151 285833844 645724893 727596559 861829289 601117428 278751817 375366405 417682946 850861984 983907653 180786273 865206126 806331724 200769656 354631835 431705368 272133344 530442451 845602714 516002202 895042265 808900465 238191729 365634576 225186385 661989132 682699704 810506322 107127779 450636826 730760011 453267162 991020333 668335555 163764946 249928926 287219627 583886513 504230547 879227237 577532064 974240585 216966367 790074505 709167838 916178232 261172872 305777870 146066241 822825078 936641762 133441430 596609233 742697643 894075356 611801274 598487841 955111191 637359067 865285646 244105650 270670465 533007555 504032611 414032797 604981423 922755969 486345645 260273217 397747676 792190489 367352212 449128007 259228422 749690422 453580683 822567119 742324435 827506548 832604918 318584477 265812789 533485403 908307753 718800217 933137537 582709470 417904800 677713098 765866174 698849060 521318696 710981081 837788683 509500195 892978649 104938047 513275309 879258508 777800668 503682852 870766483 166249290 195640561 831998544 117249506 328424050 137777087 791210767 942916190 777622893 171606387 763476957 972810340 571491062 164723459 753014699 454891742 305612638 812661462 779717283 625020858 325515048 321266876 268106366 650097041 752709824 618147322 218974357 436299013 612937490 677228831 679567239 357370112 425692059 817396661 898232084 319532644 872561349 956937731 523354693 864728504 862255859 814236375 452507732 430456041 951919945 638496797 644273516 841133307 896491367 110869925 270909358 207186172 725793447 565960126 484703448 102223713 876745267 111794299 550649268 571290529 650512345 704301092 528616135 900226016 831694132 457796504 977349910 685318230 331797545 442118188 224078828 377327106 678680400 477443498 225680716 940356288 274788551 179527221 395018226 780990497 209757945 335857858 168658379 938795320 160914487 919648839 852399382 163837625 941290727 681955421 102591998 735828618 701752596 391756496 435597000 898714720 541272953 419968041 606849696 663959319 684260679 159617005 904628340 632294210 707062121 283055812 789198007 129097338 884315665 808342436 783434761 165722794 753768832 503265461 600812106 902825587 933430105 761428780 350111637 427019657 464284514 712102101 743612233 520596165 705485967 761356547 719495978 443950071 127065081 200840419 751324760 737754814 686369947 310983204 760231078 765345501 615981960 274448431 648494793 106181041 420801622 347497351 479695893 662912483 672408428 328421418 369496616 264529615 996850774 184257740 109157831 734004808 961681855 743418453 991924425 101308022 309031616 620194851 298298317 704727854 495830543 451857888 273964151 308357006 431808778 882122836 500018524 667999003 627402695 730808000 424848613 752802708 324987921 505652344 827055078 787077955 268611444 944529667 963439184 290529104 168233874 912354049 275064546 216766176 707151504 996865714 110436398 122496340 989349473 914564434 665511122 733829683 507404105 882108596 751365423 305363712 143645694 463087919 227121432 205516431 912155644 479593334 672867238 800643910 267804800 592771022 928618899 368383694 443684156 503155905 762378959 223016435 485869424 226479835 885020668 576009426 294624409 388509624 284492048 303203145 863118614 734808278 984835256 517916928 947079534 628278183 722625690 618469082 109246918 269264933 241426379 606047861 515371736 541345549 448250750 751672332 880343278 544011265 849397470 962035358 601521658 225741963 748663610 840312606 384261793 891477026 764610393 259815874 475104986 455038180 423018378 627000940 249772293 941268575 718217735 217583677 409359336 203521858 356759686 893712123 653468951 100322359 482164250 103010391 327530899 569689924 543930357 364344953 606111253 933819923 777087617 424400144 833949735 133086008 584118784 905079584 373570292 642768827 323872881 301549570 965816199 163607403 202940595 285291924 757892670 204815118 984845776 951753385 740392670 308128546 867387586 492692415 454166575 240819452 414742943 406380176 741291943 985731210 338802700 754380143 143725991 771905792 873347297 720024197 909117755 165934423 597584264 378758135 499797539 181321791 850903906 639687263 930725823 226567448 237333755 377743412 217600694 795941576 927604134 117152103 804725610 319480359 927825117 691949984 127729051 636252748 570581338 766027644 969837175 108339478 531590482 626327272 804651824 757246586 145846751 437288407 925818561 583816872 649062990 964398073 759531063 571038445 505637317 918019346 801757801 860532393 240040750 171510904 729066851 681900864 415085331 818071577 946766819 843804144 313213122 214639789 620627128 644817655 610357840 345664554 849068722 319467921 520122422 742518538 302012730 622532269 589826917 127622921 374340138 506118415 976546656 361707153 512459607 212762782 199451633 127988345 394198062 206488445 246151889 344312862 915758111 140615560 177401851 713760527 290012258 891382225 481581275 393103243 849582804 994427192 690909263 501726236 458985002 400773452 749565779 700005021 590854239 424603542 126024680 686660217 783474608 452101459 884502548 567341464 729065505 161077509 849039234 116300257 133664818 390066308 968037378 196358544 229134195 543441393 545049349 310204275 687719214 258949093 726392449 762614089 972958071 853124515 319239674 363553910 896883357 705868571 999116701 413503560 895737773 467561783 731439631 831433082 478992207 199354189 979530656 547330636 972119007 407172391 482755883 210164055 551832442 602867606 417827734 245373892 718993511 586553456 540904363 780351628 993037817 130093130 767322453 507549739 473940856 453904552 367468171 964128545 980507043 319727831 834439729 570577962 380472568 355977722 467121852 660571139 484530177 137807579 983287823 178455629 309867925 104980675 521654323 888471509 501335496 520896185 117703008 516397679 815660890 321381759 163655670 375299101 751947586 571172031 771782429 824214673 878053881 311246633 133394967 483499683 380914130 364788257 521899373 766536982 746616841 999073108 268649564 272209381 401023310 322702227 268871091 803297628 895630604 981588675 483079278 533402797 207301299 314179444 501793473 541113867 901536077 668144810 506589562 186403498 649328478 113961373 304234354 991449085 870089655 871171726 248891926 351601247 789946656 306753255 146496893 718528135 750504930 284032781 595250309 993639045 859920772 867387128 531102500 497128760 676679086 367202336 304340397 527218761 810970307 369406610 685381438 109664281 187423049 475755172 365735851 557569195 513165406 227886398 354702374 765549887 197624274 310676091 909446678 769171845 570198487 929393709 764085351 731834491 626185770 601519736 298146906 576231302 882036915 904073741 742317027 380321654 523854400 802103506 969192615 939444877 797921865 782972045 536256297 552881994 941062311 579544364 438971199 446634487 610641596 378233273 395022369 642393340 400395527 238564500 249602379 535007874 173260453 837974209 766601611 836477000 411312903 444976461 978264161 613121359 551724673 154126243 356773282 263207957 550919411 871621776 791973656 698527396 461897488 868443338 182598619 218164470 192930225 631698401 172148608 688811688 855374968 899583427 249238976 727541908 677761994 312359695 520173890 918834950 371037284 816578342 963374593 875543484 660843255 960100989 339027797 977946624 954392977 447728197 148965646 960766081 725944625 522806767 804548961 400772176 891939219 582178547 220389879 990865556 502754797 198518125 580609773 869663417 310921885 660958875 831680550 230940822 487812846 146446507 649791974 246675312 794572458 888995056 565662376 646097436 922527993 419810413 509945271 525054997 948401951 146877581 981980274 881671034 561191025 151727911 102044251 338086849 209425338 202876233 405849022 849212064 421921982 314538396 194211502 853341169 540652889 425360999 336284452 585073837 147024053 108501087 144528493 919462524 430862415 293797096 643622629 627042452 482708926 826421716 908367061 897697390 213748817 992594682 856698369 677108066 609425185 700742134 123654680 594576038 770755749 724618762 589907100 988450282 447925196 479716357 748192931 934981881 988371096 105953514 743273209 104780228 756532572 306678460 126555261 240294569 517866933 482080355 396854662 785528299 293061662 402439641 423908866 587049118 836029366 996895144 531305007 303833230 377386255 147373027 215753719 223507548 273365708 402772767 844769730 686554208 398039606 830272772 640645040 800667272 757657946 976377226 581414897 276694201 978108909 364708360 785021544 709741736 557247186 240968036 763697788 995476160 690025903 778465118 133294511 351293575 997763204 932637221 252639770 800905083 601620838 691485684 333658865 569520024 811115981 695780156 682944200 553607657 295591909 988585062 507830853 901253301 943267587 968818685 624184988 104789484 946059416 934273765 410783262 755100571 871769472 147956978 627828063 800269722 221099709 464955369 874685294 255715344 476627627 958068762 803246791 419794479 451058834 403832141 348555006 652900036 221017132 713813082 605834125 706053393 151322352 503760333 883556315 809574987 994548771 329269927 415595220 817195057 919237871 799998209 435635692 333012658 333490806 720787930 374851879 948656733 170128236 480842897 735457980 142460354 900827681 898887230 812145659 407351543 698165012 714051936 589172399 926292468 291324453 291210095 102186828 146244049 857064910 724835224 690890661 595378932 339528329 559788441 615579458 814494257 198329882 779758050 256627849 290117383 669311034 242698681 959744102 638035493 445614517 657869528 610987137 571454726 254640928 790639336 295745693 159876447 468111279 333228284 332409352 563284072 755557487 229272687 927809459 922418872 730256321 899463240 957246494 659742284 562228649 348565921 743675210 637005074 274034315 267276423 661676958 852950276 886403899 364245445 931244552 801231881 840887754 673412377 796253282 839388941 455120905 814660957 749589084 216600687 422271860 504658826 200442057 523976728 569572966 286554078 245802574 369472853 769255956 689377128 866564717 627381578 321369032 822657930 383698928 192876368 262100849 251086449 307009069 237343464 849851106 939823965 203225795 692702534 891015300 423895411 312150767 796199380 620035241 494733491 465204681 938572013 570964051 576810945 234724617 557566050 713748409 288704995 737675069 741392258 792472746 291485235 514029540 165624172 997836315 593123338 514230754 653707674 756616174 276807125 642800960 351520786 534439488 161965339 654652310 265695359 490708423 873439772 476139371 347053010 709689558 682247805 430813488 194348468 975172874 675425912 605065656 244230999 671956411 373019187 276151689 499318988 536224912 389488061 715514565 649175857 168019800 291929628 326109757 610563485 118123148 830151340 614204905 405947139 339901710 783584733 375335837 430911482 490392895 783084032 316485911 605959242 501477687 712150023 825673935 664495766 506210225 755140811 334404328 505122888 759737507 821164556 926571946 146363782 284250370 450537307 984806313 671305074 405538603 574829819 511032992 935843996 521048566 106512668 193225845 535351860 389631838 946518252 775610575 994883983 131590564 247090897 925162690 830328548 230879844 816821825 733607304 593532264 923755887 222745487 205608735 139571684 820750275 470777904 612386731 146969911 383795928 437594333 757422200 396266910 990254432 262474747 342242378 829206535 105490281 456743575 113872050 929911478 758646479 517944566 175526163 347733037 247196928 721341748 474367293 747142586 689696493 946725220 442725114 124694648 877779195 986526295 578841541 478091201 345981849 229168294 707971712 657142554 705296522 113975925 883281593 984759719 268911540 827465633 586009120 570950281 646255712 744021762 702829730 494502900 153372075 157803053 436931913 773626590 929059807 868605689 795410308 609921850 408133911 548228154 978359146 916581893 609088570 617828480 870440328 625443832 344208755 777600898 940976921 376763260 681349758 768056360 631595507 318530545 543569788 637367721 965221604 348909928 936469239 190354605 425881673 159306434 193862779 254866014 714364342 268005513 848038353 609343113 861486066 897354562 618912160 199796307 420641466 440314293 355460171 677192610 351354938 924060561 857000435 250497626 435916136 891786108 573805540 599960528 654444475 213765481 491633514 756511575 887968791 438627964 507763513 264844321 905761926 774360006 283871725 846385262 992136681 894164387 521931127 563144610 126648077 743199419 703295966 647933010 359089821 310172492 237915020 349927695 620546230 519991051 663305978 217589295 356428739 925825932 294887974 415720351 767607772 153005989 496447628 648672987 290171563 706564689 258078174 682143502 848094194 848080230 430675549 706492277 556182970 274110552 546426243 225523792 691580302 330231177 978088042 135206981 913319008 456696035 752852599 250537381 266991894 460449548 331964801 396865318 338776241 136988041 145945473 735201803 554475008 342453226 101452384 135104419 995188087 746079184 104048259 668211760 191344129 119308111 628342428 745364565 994294585 692816957 122318890 212809520 968462353 665886673 583922488 435842846 325232905 606169576 637371415 845151179 557457106 628742989 620911277 109561471 640339412 456636516 138644718 706464218 682930044 961637524 628435855 832094475 722319266 199667095 695184692 853389160 533960297 558223481 269392541 960019164 644702151 203453098 750406789 275370250 858807039 911089962 569503596 451174937 658402461 687049045 450610947 458228842 356237825 704210261 843303625 172252523 201032865 503322898 726310373 774528715 460415391 255225436 684293990 215135113 184020752 141061709 996531005 298617426 544791019 954314535 175361343 334205231 890553123 522298686 790106520 473151405 506259302 842701578 599680685 705702377 154579868 781152954 101465564 853527372 486942171 701833623 975968242 764183612 527003715 269603386 671239151 318622854 604696026 354394328 433262476 318220303 633190164 994717222 955548597 815955111 481262995 886270300 925137536 193504032 971640724 878165898 414436713 357877743 856680603 496715564 258337841 467357023 552481152 967695210 229477580 324182742 479398125 830975404 391402701 691821639 843183302 410355093 286930667 313538666 558213232 668290021 784649024 369673721 249864792 638489531 849095606 451083809 435952323 762654946 665744907 970718800 585815592 639886978 524819903 708256999 720187556 276828831 864156490 117192445 673393529 435694657 241136692 989124430 477931838 788869318 424057047 214023623 614215662 836249961 796062329 370430124 707695594 186373614 673928095 223168178 382749875 456070287 241072474 675905270 141466857 105795301 684871621 632258365 393026987 831233767 735535730 501013768 565362205 681337511 890980939 632045229 847268901 866789651 623723803 913425454 575455398 592669095 756117205 748751127 400041113 626785672 713053909 977968272 514813531 745441820 103277445 278105792 336265702 703989829 970011888 176806557 480263749 313312246 466220199 940871995 861679414 266569352 457123983 566573388 123930015 841176326 439389642 852322594 925872437 582150332 378855941 534940587 208647862 913174037 162929202 710681703 385410237 388181207 455500875 626838014 944653149 516149426 818743211 523457353 945026662 740789039 811030817 411678795 681744571 736626111 717091827 554491795 674575184 387422968 533542582 405040794 947363505 785973550 631448312 451843758 839898045 110921306 260767395 179973092 492347803 832490079 678202855 534224010 280035612 763276404 838805235 701768723 402229202 685853990 836027727 971661224 715145073 912251771 871207685 914383521 357685300 785925713 390364114 401311159 279200687 511338405 143423253 735748631 507353249 857653071 667631942 986222965 974510313 257713651 558701824 972159776 676750859 372750069 890211966 226576785 327149240 450268907 491439009 450876503 118696431 456406276 505311003 433484686 209224540 517806508 770462684 586695617 625697544 393126745 796251040 221366015 548679347 795990142 634098166 220170173 905016794 702855449 136227152 935645937 970651289 657429363 289450116 156202292 170256960 273878236 837643157 219837145 455982209 917673874 887558566 372734153 954911754 575465305 718010775 613141075 284909272 403069691 575716713 617518396 571723417 867993622 340903357 157437631 810724499 282971614 860839088 636281580 358649217 766758543 605932075 445465673 976145111 835065629 235928022 671872645 170257157 448299736 991801010 631846783 503142061 926514242 776263140 573270334 398913579 722222522 229341456 401802055 836439791 922417231 603105086 768968094 474322504 771612172 809829032 960579180 235756739 783621566 216677034 740633419 840850104 880116466 360871124 451503108 881507516 270954095 554884200 125892866 896395664 369973094 956763368 800824462 730589725 657346700 708350740 292374959 181827604 579427414 887205882 942446443 735203095 995473145 989743115 736299513 581538624 758139596 767057694 470603724 817386449 663522889 480504284 438406447 726738670 856910355 554413115 501714620 285422368 775313868 321990456 816617014 101674738 770885948 941870463 224878818 248119948 879325727 289637148 366656801 466106441 886637224 145415068 497006383 662326024 622385842 101321929 665012502 764557317 506391476 637735349 811894768 197760956 993826242 514696929 739347361 162003220 845709477 124781440 870224715 650654561 172518543 968266145 854758038 842525083 904951378 386694362 311389579 700415747 655896167 353831923 871496410 840855684 559815143 484093935 888807147 589935984 582579282 721726701 364657487 783027298 851975200 981676404 230079758 630194414 316721119 783846356 396004301 861991749 505289810 156282568 850277188 657559773 947631658 352709631 154420197 720079542 263154587 477342573 442132805 877085737 667737171 484835429 996623650 543822594 312006093 137971760 109149250 536262826 639138118 299414231 690264102 800313001 731220583 181063134 938616617 359148527 989448577 263550283 337952382 342154748 145902288 129418955 582262864 446002309 749002691 643290840 372377388 939451853 591606472 670601762 518355625 455150437 806487988 940390815 352115931 349311783 213744965 143153999 273743309 329423765 142242157 914899494 823572788 841028810 949744815 402308283 738090926 870141988 217198356 917680023 841428005 931785047 259524953 514215152 310616072 205717840 708436406 994964830 248706401 710299783 704788936 414547835 482087009 548991867 419724105 110435727 688167067 673174408 831108725 561205761 421981263 113301235 692087286 648089781 952185221 798227037 361684098 702782296 609998196 873938187 177717013 493652767 676374325 984401838 130486050 523085236 436279696 361247426 749547801 938074729 765469852 753775938 125740148 296750139 356628683 738091133 437633809 389601482 934036263 844423166 152375587 768086650 817086214 634213162 700057404 431022520 719773943 886204217 884378701 838042353 156997611 909159415 665096188 817075179 591146251 887937712 366541910 603432682 766191260 929726318 330816799 405966165 759054552 173620883 371381804 889219358 572072879 584503573 711858546 786717590 704620210 597778393 241624141 282540721 358203579 338626760 206278906 526467395 587756976 641176478 141549904 971591464 889383396 651710184 303866416 204114652 977408562 189494579 283133940 800932611 914595160 636463126 402790389 700881685 693603156 300720599 679086150 118743393 737192071 583382205 391294013 972873609 968872104 429458703 130889796 959337802 398026752 859479403 782301487 743057517 116152600 491462153 737274498 659321643 367616753 573953780 196715049 997230300 605616883 285749260 495684733 641617352 930119730 560285527 174022662 598789322 387624943 503358203 982763550 726207162 590192321 526196146 531936830 508776324 995909158 578835935 920260846 763684048 444373938 577837733 997078337 184798364 953172027 879490545 331735665 861551196 451567421 708015474 916071542 551931775 622866570 885692896 239909751 527832122 649694750 536775818 365145606 582603589 302597644 304230174 206855578 811316040 964744582 663697158 133527022 248243451 693584778 195493773 212297428 856398708 421251458 110321606 786696179 905357553 395117612 367285558 441186740 189062948 179898587 737156188 217699477 511292028 860078797 546402968 429610701 948937447 723350318 506271645 799623288 224981851 476190321 917064183 419914071 749276298 655486772 944700756 826886173 219817542 689098808 639434140 750909369 810964032 903381359 156113958 732798575 396355545 988041804 914659984 832253543 781913436 902685792 970244186 928074875 143858948 809269708 602033652 699495739 455133150 793369962 957058458 896604414 227403752 336378141 133411628 370856734 295983121 854208221 625549691 647789719 689925963 425307175 260955740 863839704 163401005 753204239 959149149 338451730 976534986 907327299 950573237 716516025 514661072 522718877 407238958 470698657 165463339 993983020 492276934 823814243 432582423 813607910 498561214 934135286 353267245 646731524 787560364 575496961 226034431 453335228 167430835 673905960 199549818 506829412 613303568 312056827 502953172 581019294 709002728 708945483 592018184 955139002 911790206 104100043 338421848 612296529 671400401 367093182 239523922 586416578 344756538 637045333 187273790 651527558 173514857 900126675 563137865 787158689 725851416 371827214 490246842 135995402 343560469 155652166 340203873 518866823 823585094 326479079 336334250 132763119 831796129 778435090 883067423 162135869 408856881 358723571 759354576 695992453 703389554 919677065 923669455 690674896 976424141 161118157 460057450 309043262 402861125 270360130 302101488 484545564 506892740 338646455 732712924 548858071 565871690 486084353 975058447 810916648 582534416 711524130 822603267 352804786 877845047 991468453 588549424 925910773 951939271 790823903 796917770 463941733 359451378 164712815 328202671 497502353 522073395 310553400 141152388 791286072 711492627 831115334 374172210 136038200 273630452 548942165 361137096 598057062 719364098 962775369 168799234 629862627 714702223 994276668 231176913 819496191 456001768 417284287 233652217 598806775 810940591 284685807 400061031 162771066 780279897 504405679 846000257 728377129 132981639 549153584 347576072 418106333 399937217 896335007 288557711 265671944 584861904 324195624 742559497 909211175 376447597 796010116 509574933 284384061 106203416 822278835 618168905 433103245 124058075 218896255 363442796 358930928 586007822 802836714 317825542 269726525 747736740 706348216 321491102 352637759 800840097 220380173 711662293 159888657 911089976 708918878 821624032 359720121 109061763 171463252 629877393 874499772 660662603 825396695 353129455 857089816 496562435 233554996 483299267 634257253 820709890 694932360 666162341 814593203 409435095 917005008 401163553 959166470 492874886 403466660 946430377 369183717 279558277 126829750 372862753 206792006 198067426 880397109 860882744 779885567 365234277 493867411 555290861 613508981 486259451 912514598 473842746 149899602 799526811 970326020 931861804 944690359 106359314 822352967 758036182 558697631 345640267 493586942 851129852 696093918 528973571 115552555 364932471 969345234 101506448 453300210 217417726 194149838 589459620 633688480 412698998 372283202 384919084 128880298 855244805 262470309 930082661 314509677 109688721 572217012 959234642 102913936 506020952 665905487 109828016 133169773 797229841 962290099 984205447 733467797 268750142 844911981 576661002 698056312 428157683 392594615 461336557 200146829 140310788 355409509 680347049 228401937 247004933 956571091 158048746 650650693 625469705 886359155 378461243 412797020 640717818 393621690 906329163 620947712 346053010 729528321 144721952 531174556 239188972 794069925 798666680 497024222 164752717 459026588 856238698 775585611 288454006 897580122 748902214 382287993 739573038 546706695 846399915 515284206 509314194 795873907 594228337 147823285 244820559 650657608 344459404 473835984 240250199 297539639 698579207 473568587 121992399 609972302 621642020 460593567 576961509 400795748 173779869 449803833 924285051 486946895 176749529 755497432 516536668 396127055 756663771 368419690 995713640 567330351 747338143 253312650 956096155 829628970 584893651 671608696 305880329 658589070 109761578 559281624 798724748 813455167 919633128 692832948 508069656 877168290 784330226 312678813 933767411 235283141 488271439 507630954 812338996 140931451 664733573 461745865 215311861 803691913 231636076 485780184 343138695 575334777 706904757 171553282 277681582 836952485 195136445 892646244 198465152 846242741 845376448 802207259 642318327 165099578 921640103 131163154 764756834 528911502 447492764 688127184 180812293 777521051 493633903 375728979 657395656 959274131 998662585 481424900 195592056 344746616 819225070 380321071 392597972 472326730 365549916 449822105 886341634 131125266 549923129 825489809 803796264 451905841 306226740 841316377 714909093 866231612 142134053 339383974 493800906 268449950 581693889 759579905 674048495 284002807 983779254 962427310 389900839 715660859 908225842 147463428 889193497 910166731 153957302 962182512 248347041 730766923 318141768 350274807 239919749 103931206 633707229 820295301 676103856 745313995 342990401 921602506 211865939 296367357 845551876 214687718 950116014 160470395 490813916 661860239 507666549 876268633 109412885 881053897 756078755 217133395 935507547 472724934 977733112 415320463 175775313 226705681 105779865 555450318 901951503 928713249 618742164 629859021 430527975 185781995 805777020 756272895 523755288 529287359 641432080 234544168 612199296 609692650 427085175 605555426 306182786 949889126 823691861 945668503 117518175 277637241 897494856 680872128 407529735 613774216 800665879 799719405 490121999 359197444 660481746 654622118 383965064 631672430 510468033 563943773 452993293 346040441 394732336 421384488 936997479 320021930 503082641 620301854 538260254 507849859 471107568 120229903 606300591 561381647 274438533 189576713 966456634 631973215 792787602 870143333 625347743 202222563 908895873 702960169 969963589 598205326 304282517 742168614 141080975 427508414 867972177 321908151 871209906 423160065 322695168 153379207 787246705 869371655 697378596 932014739 651173485 241464024 363070080 952505429 124966192 169281074 837864983 764203643 507715000 529518367 479116988 123033068 687745924 372439790 518556900 141866622 154933133 568200243 496702847 714868949 428493775 484080693 229496224 112506717 761547762 802999432 396202153 533862770 458906054 628836075 157029136 833600453 774340879 363270130 992982328 429352849 720499116 525150222 700984327 972384590 825065882 938495763 393070576 684464802 462103638 990998054 121607364 265098120 316223150 230031545 450969452 386882567 670683494 345583376 511034084 850241114 545984955 558424922 432735135 640108544 332873961 445788352 184663655 496943806 592104919 325196141 436343436 811782165 702995425 563933424 794624598 459407719 513937157 523951316 195243383 500906894 707741577 759946576 283003919 111740298 656078519 657424221 318980126 314573545 138761441 724222624 202422612 494638390 171517294 846579292 897280555 473482202 937543978 392751994 754424107 561048691 974167943 832186565 242772117 914020144 627510602 951931718 685325160 253507672 116742469 735750773 154958386 349635708 952546686 536539450 601318642 166262711 223841934 409144167 296346727 783325977 789131743 399833689 275274103 242485969 104136787 743710291 629901029 215604613 761973447 303918391 120266970 160697215 462279797 950435142 825991679 483404368 880604860 811767707 241495735 318677326 179365274 950554107 388741977 892732537 933794301 211751081 865578966 576775890 826337951 274096583 337207063 828538155 850076820 200766703 365071897 449634163 426892148 543919129 300901052 659154182 708407799 243681640 238888999 890983714 648913838 248765311 784136250 758342619 377832497 411824971 334652000 323079465 547330731 971779271 227668154 938920646 202314306 421839931 168212784 806957127 947748582 695819183 761169227 886383274 857763904 839181573 508196053 792209165 317145134 734799141 936819184 531455805 841880743 969844153 202089667 693334533 850757816 570431381 175086561 641173368 952565408 361742917 305547180 795688691 764929110 659232992 823636870 656474806 643908659 684224612 592533531 937208555 661199899 267558270 565845297 283781627 975404452 612790830 478275689 106268205 381484032 310079822 271386760 754753226 483825957 735479078 968559774 710004052 321892594 782663056 632469694 365087507 259340861 415851243 515385336 487392189 805513567 505014044 784144287 466080313 656353157 350135018 693488186 400659079 719167622 209888181 413215944 340690963 135019598 849116881 285608012 116061776 280275225 201074186 574551947 495410429 400082223 689365722 335779324 261930412 621900941 332542745 545678166 763857495 510357079 851565812 602713263 778784456 908230203 415848805 927408317 244780169 984810022 794745159 619268238 958055849 434418564 403770844 518901950 989970156 974075386 940185626 429434508 396574138 152439204 633890943 530602846 476412443 665788756 146829995 869151114 987307689 965799725 617129828 542918911 427169141 687683877 641801140 953185223 239688674 512145990 335912938 343128143 900704121 537988274 459032633 557554974 727109462 699509412 417776066 815321491 955985914 528401027 865827149 296534243 920713823 118768232 372948119 579634640 284780536 206095114 704551726 856422800 164109252 910001347 716829441 347171891 559459612 667791459 114061164 479717024 548219414 825929596 275287046 416964612 385457237 211113212 290211112 615244749 530642502 200302108 891163412 627764888 180711724 330840658 667151108 915877741 492860442 691155335 174255600 939764531 127510666 293253633 507098629 645683337 200888387 993006253 208156090 675162928 196888900 592296837 132091418 839169154 818106904 650810826 182379204 437043032 932040597 634660722 596786595 183345213 530994884 219538779 247484264 727037585 889137792 130537702 214415565 416509722 954967800 354578573 851437271 793266514 350157159 659411271 499340264 132835319 986842887 665833014 723091718 575846499 267757227 200180354 894505235 673719089 856164669 486216646 244085728 372313458 740174963 331075820 999504190 472509270 646773579 484483010 673456719 401327915 276211382 171805186 749480408 101131259 767683271 179084554 492958865 920753094 107143051 412308351 802321191 933617815 273375971 241673188 959094791 120138883 228781617 259849828 146704240 324889396 207843282 650075598 361345048 718588923 842040041 741752109 275136393 669345781 931072443 218166834 191480245 677828100 673826145 551393587 776184688 253682859 232851086 591258393 475822171 524916704 153977671 916294771 581122454 816445141 766700746 733354963 917601297 274979319 503902566 703258436 160476781 820563829 153757113 339087383 746543968 322649001 494631712 135701425 954303652 883642965 158330460 937807994 459367656 137241367 638111864 226454330 685701070 985008556 882740910 516475529 437049612 299214152 220698325 577383594 825041210 174080303 765309306 919576043 249989033 864446279 295325020 222290996 345569022 875496690 438660048 537759303 124683971 418938852 401309976 142014898 195154107 146143325 954502679 663417570 280565903 808238559 840107424 964020412 280285407 165951941 595894390 278289753 928089013 155438189 774241029 517333191 463124278 968817381 481570881 427733725 301937038 829446746 914914642 308740298 439321357 524870490 907884514 670988109 988901790 963011965 571959085 537154577 859052479 729777785 468094090 770473973 528225858 107200851 486378158 161789829 409899151 529682105 458912006 608111091 515391365 756446757 694914054 791973573 518358498 298396023 197053585 102912312 265248304 977564510 885622269 645211779 134917021 404602421 322322134 799478219 247002154 907387809 683694089 677387055 716833746 811385926 431253056 624519843 715510851 786933093 111967013 643349479 132290963 693521684 985376108 156937434 147536036 843285667 729528965 553321748 472428299 330292687 801221542 751554579 661268330 699034452 655404368 953685362 597806071 294241192 536748444 313034124 527754338 505901390 178250781 947015986 860169879 794152681 156417620 515983398 481360997 334520833 699908829 996334903 817942971 553485577 309790227 667525272 744640053 845409333 990005853 495449295 370682037 504864952 862580986 287563829 400118223 130863247 645144436 762359671 728357222 309240282 457442903 394956632 791747054 978292929 680429723 671787941 613582469 347995180 535392415 301010601 837816895 468514021 745088311 738660486 699638071 667426723 441803150 127208716 133286204 198186923 149421062 767274195 500884628 721172400 860443326 255395644 690102519 938300922 572710924 395678090 417916764 359778631 968185661 219264915 835406808 314208013 260983459 362818449 826881177 409867762 574776742 628499279 608211380 599554218 826459087 600870523 536695623 256885710 935710914 484162059 314975769 641056818 344542073 170855837 377980987 778525865 741322523 127412239 574433766 366617938 338385791 192747247 828083052 242684485 555303643 706507235 640535072 563776547 806590194 907965663 374733264 416837912 370981000 841772692 934159499 134968687 823229621 934532444 988599230 841012534 990800973 380536847 503811132 488912668 879662453 141989755 386417142 630111216 478239376 848629574 893345118 536472328 333474909 755477392 114945143 345523038 346487248 981447552 559775199 546618180 492878479 322690461 396020441 996675259 497982707 780100706 319132369 832364055 413071528 680692308 721871781 477574809 863493566 227215590 870134367 216362277 746136216 753884733 800581528 669106749 621637299 477087893 856115938 290304670 453277835 411192183 995636854 336242085 132705087 199882559 126237323 102087522 736925078 587173388 236801412 333878288 418397613 307438260 854474920 837592621 880518274 587607215 870883306 442999635 511500352 813686652 646389588 788303614 314246007 105544769 740322867 710646486 735900750 569686236 264402613 880294823 731211164 301102805 566716957 390145013 731457987 267070201 803664250 589793555 246596013 693721442 944723748 114143226 997224992 961618613 487793900 181362206 729545376 126396538 585813409 107130868 560222505 780142926 274691173 715988283 168184988 543298831 100254323 472832802 726210530 704323498 745105571 259746509 439057860 574316563 204849137 404295735 559846540 836728126 830182260 824342447 927023819 984234407 453073826 259745616 305131520 942480728 517576802 904759369 939641161 306119311 404350261 817477967 205023667 714115339 299866179 139504021 640564371 767357422 565735946 269214038 890886567 635564118 194279807 182688866 100887715 108408600 837886961 503213149 548224258 191057277 965712478 530867365 990690492 243354917 648024311 586452296 901174607 919875637 935967440 552827387 143884250 397589517 591865818 867039198 428825481 110926720 858486793 257472072 108336188 186669938 398463833 742125058 205703361 212095839 254570050 792506502 657251992 147721313 896329804 336975390 854352519 223439663 613689481 795695143 284484468 373541436 674438942 806329046 693923233 436165721 132724053 655099874 572571210 888687712 447617530 755288300 231500308 147916274 510694519 373098151 261327240 218170344 864796190 434961972 575407041 935427248 674568822 147153482 664831479 159891255 648353139 972165568 361129863 117358874 738625821 131914069 684336054 234338420 863163121 662144045 655103765 335187633 731382791 527664786 695715671 714034749 308868880 193981167 537750746 617729054 791625988 239372220 870620634 548191756 515484058 847277548 368806782 966177053 562290609 637630249 981111376 581558940 480357651 643533938 393124627 350331760 202479859 528516040 936546799 666296482 298845224 621312656 919879408 834904726 411822115 244458343 475538843 909954004 462949528 652218658 228880033 476551166 499045826 754764933 516478649 384793719 878419005 174858826 583111805 201799392 410027199 821306789 792324239 803988940 969983003 553429672 410374597 646939165 746265102 461330775 502824073 319351420 284456994 125748415 419146945 414861115 983279271 612541482 968258076 506062128 355582829 971215630 131643792 594875059 668034651 186295718 369067905 143614107 841817182 599325263 379372190 222309059 147749793 765590535 320256547 316401997 455765800 724189265 254012829 953664424 824040349 945998129 412878418 379498896 854059841 278496910 847619092 244265974 706088965 496896834 652616379 433035532 853721958 432249102 119375294 778193497 833430969 423343543 970262114 340530130 568677231 186742115 776285895 873865240 571517153 778217673 855573766 709070941 352039055 863918728 552510405 882584913 130262291 647000942 189676687 931299352 800893705 972630212 467404881 878033106 857388926 215109779 697068770 885107962 918299065 526759657 576499383 986742868 750639269 698858264 920979341 356553664 640428913 121786730 808148090 426939838 524042104 374882032 651108171 118930984 718240747 489411982 488159316 516855683 954355404 693030709 865186421 815098349 847504008 753820276 287781454 588273928 853584830 859787749 641116059 330115164 132459184 507300110 323618723 249263092 387918773 919487742 556372670 598671999 751986406 660618661 410870948 673796790 540054542 132788575 544292767 512195406 898151099 567872572 127375699 260636289 695998261 368167794 113039376 784149374 890131205 823720433 940434928 873955279 966831831 520405662 545015378 549583443 770479241 458085805 609945788 959855584 725481306 386340303 159156725 246990013 455047536 642160601 514812541 497928357 145142040 286621806 600848270 482293788 194682745 878613830 589937241 247229441 153442492 730001603 916227009 483965859 433159873 329226854 914287200 140064460 918505792 340227963 423441913 249877391 228379633 973761859 188788249 664201925 405517524 580266369 976262568 889204818 110130894 315455556 150622691 625414339 813555959 646798242 674823660 263410180 754861279 562944649 698214685 922380060 893432671 783334996 594659233 231853021 436961588 282160728 840452839 501408608 141328600 400547415 844423450 639141423 840415818 492346806 126281651 294028472 224360718 898822110 513934739 187429876 329426167 783422227 963305771 581915265 790214738 481062927 890266643 710668192 519002981 134617342 263885044 400462829 271722356 928949606 311641676 681189183 903596316 191545916 144442210 569190129 174041952 245033195 732356959 461332856 802002160 444252484 885737665 489002889 777452900 292327051 505162134 775162494 227728192 352343863 996411184 928207247 132308821 542081093 983411562 434625710 746782763 493758222 780179305 500486019 478556686 784982309 605364083 195897471 133894977 651515481 430015296 302478134 675483773 991510922 372424746 369610636 117225490 763849660 558885269 775766894 106142164 119855498 212939113 798118676 116440100 280306956 870462951 708212823 328549433 276199062 526612381 942578735 411778336 470266227 968683358 324410724 185931350 711630067 594928670 144197162 103821663 613124781 999187716 773827318 305266943 207086718 889550559 183298404 514358566 445421982 351044741 277012859 777151512 329862286 656608972 103790211 550200894 444066410 265526169 346552327 168691555 165308311 584902489 633620147 670177503 691523908 224290477 710531006 569436156 881373589 941308555 927332107 967398955 415274183 186860526 651771361 227440903 489282111 524099388 896152769 247253525 558284419 170006824 702959660 396048603 403354272 111993702 954837807 431402899 614648627 789221775 812875425 103493270 651907057 642959536 377173358 324677185 791769652 326701238 596345603 890393577 823086771 499917674 205896004 740757871 834811935 101782810 923425632 378350440 258633894 509353666 624364030 531811903 324447432 980284222 929784128 685190053 881811311 247830320 545713069 188218157 355238661 443790617 496903957 388249469 107751880 664841220 724629109 437005196 134065393 482344130 242844889 238658868 444588294 838131566 817669698 705789432 633757556 579732910 928510233 334242611 623528341 243283433 723409968 793121360 331357733 436182089 926774755 703748424 529762353 753065013 114150276 979465277 152968818 935949277 887933663 673773177 450333801 790681808 619699379 519737323 511881618 828465081 569087689 623244645 156171344 553731390 931110837 351277903 572174905 691208283 614149796 505114795 625882677 607109931 523990302 663143932 849519356 941808467 915735381 381842041 515788023 603835124 426766392 930373300 902057091 593178164 258318425 894120562 755344372 669263529 319393375 834447213 586988925 854091515 274963708 648071768 735417727 916108357 686076515 653245549 218964049 994956138 546011192 628687718 895187641 964240157 471388994 310000107 891354513 691931993 315614697 427043251 263075073 866802317 761082810 303422154 326732892 213911066 839940133 166435127 590627568 466402533 185343675 820753264 344124629 377056974 892769841 390250309 179820764 530827853 644935266 723019948 100789013 521225976 194502127 774291497 424357776 634639151 195157768 731450099 347054143 505626241 751133969 661584717 831998354 442074073 490775967 751106010 155413143 448145393 751884245 338061653 516579615 873836639 165623608 125867319 300589435 355625992 923967652 721474219 636298406 455221433 762006044 363240925 542339676 596683369 191652123 262827922 111807213 776665575 572816235 360117440 360061424 496597446 472979218 585430034 441582084 907247431 763015785 363090080 212229198 901888448 582668583 994078114 850369181 650185224 108581919 600690795 380318641 955802695 297371786 976685764 800734513 914902049 482342279 707342349 130707037 618323317 797906515 591989903 136474239 665373635 670918551 721292410 372261502 257981658 199002886 500759585 527644511 131237289 218219009 969849450 364138023 751893574 517569505 653256812 800839942 872099498 513261337 182068138 309483750 929682938 350797570 330480593 513366070 935656724 375493014 317444753 236716843 669044841 976483240 615136350 220476806 771594147 980458648 168800768 224279146 517923743 589049579 492417472 781734988 645861374 408475045 835092824 531754238 799330447 411134679 381454732 130353086 872844710 896691677 529593523 503006778 989696981 880386555 137854113 676177124 845589896 646730053 356787903 433184750 264122600 814800399 253691690 736711037 346471730 937357164 683517743 112258422 620544381 326491455 480315429 645333319 908515735 370802358 485767459 473314270 263564652 325400394 408808572 401756147 379178017 269544013 960569077 439205301 237737600 476887677 142803657 222296716 757792068 544819830 181764977 530899181 879501939 850784148 405490769 360992420 271075846 362549982 682072372 277745529 459010552 572097418 235180776 544480368 974862769 913377208 108412554 933491876 740134465 458589862 233131737 481312903 557618427 164265175 144172221 462230617 649118779 303699165 567123756 489201514 955483662 289074923 713252077 683779214 313817511 975268495 891304254 826572721 292090812 275863066 159175970 350473415 837097934 555284513 705347900 221207212 832513034 836462115 586851912 671930435 680158527 963925924 402185191 888327236 875385145 201769573 578676422 550854363 495091720 737356680 672888203 218758889 124606493 593526096 197997257 706206504 581010481 682740495 122472980 599166518 303623939 153953636 942823411 403741885 986813860 907030566 340293428 969745135 472510709 326044979 700925014 486867500 389400020 797733950 792637132 686904545 154077906 198716622 330186671 863546023 150065723 974668397 835321476 364932273 947131689 832279252 753960768 507276359 223123122 182702403 391247832 869074763 480517857 391857066 889747813 908470191 625653240 893011265 921257862 294642859 457518130 377045748 173042546 980098612 838319497 304926948 434219536 409963171 973155185 209765254 254051553 887954438 274588763 286023095 691385230 906167849 827892212 709807588 430977855 961632724 330457246 466241231 222877069 158308931 346263095 874823631 453818600 528910867 221139919 477911607 115425894 423392385 160350491 614873589 363464152 188389068 465346026 507397570 165480514 421902629 116303629 542539087 638980833 749831140 771415548 129836136 903310538 633794790 219988391 757707354 853721313 918860486 555095041 246484080 180318101 770551551 721381095 289188915 422484088 480909310 574825528 749600634 529433398 473409079 478280479 457415326 163772356 596808607 362969044 638350396 211344424 768227459 612146080 252685190 902944580 524206413 231635121 816371857 246342988 353897650 567544304 950356444 314938224 801484852 217161921 871287804 253177795 790493125 361167967 419723507 848460680 247399045 772458949 915263146 436383347 500335367 882840947 119116807 606422718 426805018 968189569 892333640 288465081 795576109 843381193 694040783 818262988 622602402 201253235 365582572 936597069 128044536 983818072 758653975 770363619 649664678 798942776 707508820 360423393 165191471 428415331 885317545 545043435 263448863 164953313 735290454 589063698 869704134 224036704 584239318 942393394 439822812 619518859 114958661 206945842 432743600 789769647 301725228 174554724 470460109 814876848 374007451 961063786 682569892 444734218 230754682 173044606 305573615 726707502 712982213 973448722 183627218 856389671 754981346 125527626 537893867 241341323 231755704 807006422 820689938 238261501 302776886 310024729 501316352 480003566 861517182 269358058 597890473 204799330 416317455 233296780 211828315 412695636 180775582 124869650 171711696 304223786 981486359 409718263 789115422 586537478 938644189 632780166 103806407 454127106 729173740 788481321 831071708 100879392 554501733 477361774 152144306 791668421 363363291 407187226 337172787 703563582 682394331 547325039 906729846 439643775 452576068 450062249 467385979 685811314 950428697 573497074 259829343 943942212 698319846 220010205 957490963 439523329 724095324 662180523 422278003 442248360 995814454 648204585 260152946 563232778 387715032 118695142 630161432 393568464 888363656 853231688 863122966 576945463 219292501 435972372 209583210 217072823 894623071 249659902 862393335 897049287 292327800 381130746 891851748 262620168 653949174 964211287 472050659 610050173 997444838 619104048 532957278 190827467 601519591 954926258 317964682 464540702 741526549 324778009 651981778 244384761 922328464 549467749 750503549 210120751 638316458 409555322 908053522 818280749 989001789 269229044 762627236 433321529 486968420 907003924 387561483 759907341 487546898 478154028 637281770 665694364 377109099 350264528 924561384 625359882 492443837 333804044 725992979 675388720 485750043 345960101 671033584 811444512 191407299 695370756 676624487 175961217 950634505 885625164 790179635 479205944 348822955 199352680 934107900 991137230 107288588 367820960 885255334 431581704 261912378 106863415 553288940 338082673 340157601 817653019 935225750 504543463 899134166 815159272 628769184 421311144 647718155 713932587 536399164 760731998 864261644 357645813 256405237 646657786 940503452 581005987 600989284 817692774 632450736 332911312 233290976 779741633 115890900 780208029 471329451 987796531 987266988 315242020 858711127 421063137 266850318 487854983 865387180 761924433 143622979 628110548 127944076 877501227 553708499 448236335 274041934 420614261 789069582 661199060 254758765 818746543 327394008 168273294 469866303 422877195 932201284 635289294 603270441 165539298 258908770 833485047 798327469 342153892 252135772 244229316 462622424 608142266 613567485 807668877 762247105 947246841 228588290 933186202 207219838 365629946 442326747 557440958 438338977 786052892 586913043 208600861 166276654 392167021 399874185 425074078 169136824 893140261 453755003 537419942 934456015 721353045 302287593 791405839 648651556 777246899 586678101 710595658 420022923 699995069 382582565 641095353 457890283 311491543 954484852 274870545 477315345 234660613 164845326 201838592 869624423 709494092 897744862 243515859 463290962 591358560 373428215 235595022 338681976 774340924 188931253 795477576 612350330 371672934 226853563 182782707 976671005 720114976 489262851 990642820 611034763 388443833 649625590 293803035 439752992 535028900 167195476 688980710 443914326 161120983 666389401 896147471 904634621 634550487 241578915 288395642 854602768 465275152 458465843 369352602 293748114 782322021 752560747 164240690 915833001 690662912 708409316 252450613 860367019 733398536 222372990 944435291 362513096 120907333 317355445 317543786 836413788 420444985 565168815 305235226 332472386 274862837 882445421 956758174 958112001 357798006 400135037 549417648 339402463 450367492 785567318 928781388 245352528 179825349 661396029 592739191 212986675 830410304 303463558 132110313 673709615 823368191 983372079 807986840 121006876 441363422 627475681 970673164 290439385 445131581 606736946 484477710 372842681 969471564 955248631 360999553 809189765 527954963 400537670 147144268 135353159 150018096 986312614 124892790 137087366 702129002 144617779 558935279 111332215 149577601 727425356 127347224 124307346 214778740 570938826 924103902 672091628 620295513 231583115 764828211 356519027 980800469 116427426 168540665 591509005 617511442 604778673 130761642 307433056 432116247 812785142 212598904 224723749 130474116 199121814 122962011 266727905 967334679 415811218 349070014 823009607 957476323 113967657 211359914 220025264 305395324 660516907 709758011 366035005 993753815 815726747 788594938 485578332 539516186 307827900 674829828 436545196 130159239 324190538 634877257 736338303 145708381 332722087 634924548 968576744 940616194 382658283 687164813 560266283 978698199 347417722 716305181 817390817 546648435 672641857 499159035 869404832 369563760 176131625 798197157 945615588 990547296 307311046 407312338 384930196 670324962 639122170 420575526 146164579 306575386 205066899 768815261 448467573 102799865 348486740 473383691 215294691 372213417 897231729 795242481 607792169 101966052 648093344 703185524 207494611 298158445 360684422 577350494 143598574 477058841 380211624 198907823 558646539 703878852 793419601 620067474 660126116 447173168 885178828 146133376 400843764 226111513 453805620 618701855 271964100 151914668 989357469 619388798 817046212 330468152 834502057 399062456 511636721 168154801 413953105 972362562 501119509 751781470 897992098 435318203 579544510 242774779 294629569 688196706 142401380 469313254 362221130 840094889 887550189 789175267 264370973 967530540 312828647 784861692 337352323 565827993 246036046 890664714 288369910 335943951 124416838 421812236 774445134 818703568 211362116 837646240 882667333 613509801 623690118 689961932 488529390 522925313 414359576 599076569 259501878 354082049 419038677 700357626 333736238 949116670 972094798 333783536 930490904 381536941 707628742 850640157 476003748 813440851 406991786 378924021 938097577 417020302 978814582 522074116 160799905 808498261 686539064 158021813 257164722 441095779 771668286 449089026 580670210 561117232 314503326 601675949 215070809 639103815 400984368 474216624 685319572 368779508 722509131 624105251 681295730 467435548 312420111 662025395 759293469 128104223 520969154 740887259 887771717 768085105 869494125 466652727 275886800 668870985 728277905 322775671 671373485 990884463 154427199 549198684 372681504 518273797 199280209 616354656 958225990 374046537 351476890 381645307 761470015 785524747 452889343 673963217 772553755 421940437 246878879 644079778 481434603 340500729 210681291 775965689 408401106 459241906 948094070 765979866 426469669 922894730 462164391 972864078 292214187 285134355 988749933 521172891 191294374 803336481 392134962 820533915 930145450 652148297 670123454 416633964 309028866 903473993 923901179 618404592 872333359 336152935 340577861 295050033 863718138 645283350 316063955 451506537 705339439 915475595 470114119 710343296 424809458 454495521 903490095 628353553 534564913 109694290 816266237 932512013 134040685 888280668 188723027 335740963 991844923 148451687 307047714 865419588 812225635 582817897 220209657 984897205 878081233 359572867 441295885 717633899 691579656 283747647 216714889 492732378 110946334 653491904 120720294 964115223 224925287 902008432 637548844 432609644 395029750 408672564 142142398 273446714 615250251 505549339 969047341 353239018 854458230 556406141 892537872 911995057 827050490 695456293 301040884 253554388 460917908 821622844 570397899 381897461 143232932 252546166 991438064 631745518 998357301 697951732 934511896 148066882 978035696 158874929 486135102 512185095 723134101 920445330 763786008 484711135 294769213 965842035 337987528 707581193 258616727 632831332 792281739 591542254 664348953 252495824 734595547 136539978 755928431 656500908 907882106 370259524 867724559 362677009 326687988 912914905 489592260 877600085 266271693 576613202 389776276 501978960 271539717 524516797 521720938 478560991 724983339 507178669 917821457 919870691 752983706 286316613 781145546 570951025 811125062 690082813 237812578 117627567 524927077 259903893 743687700 895234803 474126173 844992767 519049144 115723791 228818722 424404705 210412906 395380290 959580080 326930617 851580439 390864389 112518325 838393685 655752762 961267346 370216556 611536491 896054923 380831908 812237741 554320318 610136559 110853745 293950365 791299133 931526624 310286842 255694340 886801603 716113830 933173969 152541016 467218839 665225916 471707074 131425128 391217603 685710794 625765498 252866276 165786920 834750035 643743153 547576536 553735628 974462706 726918697 795347781 828616231 550058046 936185098 978467411 989488641 605147680 589641279 527157083 138256514 880534663 826341733 215460399 776920680 411075096 229454205 956568281 384989250 933205571 562930966 598629518 242401226 725287176 442134050 618507843 191117850 676469675 239367723 286370187 463410395 928221061 778251721 301908857 555384857 676510509 984773993 647802554 372566379 885472610 755397526 385283675 665475453 806987453 127257836 247680472 733661262 901926943 963975363 491869556 611946738 693985889 414539329 614570271 910227227 521995610 275041871 401877282 266167833 511860831 691936190 358979803 103280853 913194905 289251694 849265324 748843831 711179904 436261178 687434794 845727534 671312357 595626773 508427279 764107088 302286936 938377764 343803596 909682703 859660152 675647769 979509386 639089793 784633238 590559482 579377582 855933472 417740364 488445025 623211734 710390097 424739765 202565580 176550544 755486158 400657720 974111666 654748942 560314880 875215427 378517914 822366338 186478625 828651966 501998525 989576391 879557632 878682628 308992698 548692438 653357797 750502418 480211318 231385874 206400477 802637877 173747840 246710968 458865147 414815790 135971251 491047144 641275138 337785941 701246177 651572964 734166810 498648515 610169039 837657606 612661638 800914726 105254072 143589679 108501952 132142268 728632634 794293032 365019014 868891437 777671122 199468226 398018751 819821372 156530795 455139593 753390717 590805137 582540438 621259549 825916262 503921250 969339629 788263600 147398192 874191095 680839020 313954816 967412452 909576333 242165767 495704230 824160602 496945865 305162804 996038951 593296388 457271835 905691315 194542372 266273379 703683317 670313864 190596836 259564223 665665679 484617859 595081459 914790589 705621461 974959046 795930149 116348595 754920762 348888841 964562942 899325224 833832587 708861411 200557180 726003105 485743589 429622250 155251922 399995170 235055073 789201084 900665203 186813652 748630839 694909753 645358709 630333609 612227322 946078218 323248032 776481266 924247453 241166057 342583240 740826315 884292941 523299169 838833267 520964906 145683651 667920692 814726867 614074867 801840873 679659025 489218399 139482870 900846165 263817961 961281610 280187077 519495684 972323982 869928979 966677477 593531563 609423399 902751238 143651399 105535689 581160588 879244410 358228351 984992205 510507904 743633212 446788440 537548666 751785229 850674076 455529059 168291729 430277598 890875983 861341114 179029579 662622930 151858684 810529269 869818881 170696700 906770143 358631659 101277109 971295183 624116651 715235719 172419622 808080338 496539881 833446882 365918757 812719759 855349943 452798540 918937956 695597430 292549140 365506925 370935990 515465542 429606707 226043664 239328491 377717964 491242217 988896146 687009662 380350970 709737957 648502747 913024688 566906331 580395398 331378690 503025643 703897081 764094155 582096218 999920532 614819690 187419661 441971381 351385604 569577939 452289622 757872693 970201036 868125854 551178746 979820355 543497985 122796815 641068350 398109736 783200950 758253988 374706057 734948791 830340257 220433268 280424676 141553501 721843420 773972000 823732955 725383665 297932406 111178600 948941041 989752849 667940030 305296254 667238270 856830735 237426902 535548629 936956065 168601205 227436004 475673985 187602294 994078795 194550309 989348140 541922971 354417096 603270229 574106756 400721784 705498466 405949312 569799129 612473958 512679506 451854670 108084948 947661878 982843318 542024546 274041607 645818859 428695311 816081177 923504386 913028575 837675482 772568377 195962024 437287582 788407819 391617806 322373556 898364919 199186935 103461729 448319221 552573609 396677977 214397415 182518495 949713139 696409645 398235213 500890098 854904915 212313567 864465566 278728708 640337371 601913684 760047252 942899129 863413903 569170962 651958809 621484244 830679213 545698454 307333716 980135820 811785691 644197426 193998629 756754502 936387558 658002520 247076129 862081346 760249028 271019811 363298175 781691148 743593952 576147914 987284852 463090183 360856802 475583908 389071663 499047636 688180381 418390597 887827800 915103154 482777821 823066490 915381381 971361858 279497081 514893110 232421718 259053417 270382450 694405353 327081710 756990116 482046464 566549337 692443802 972929851 683705616 245005193 877012458 175266594 842103341 520674373 542872187 243186979 914427007 657163750 950689659 375510764 205981931 304542059 318245302 205690255 464880586 693930568 931993017 472481433 657763615 740086900 191745350 518003556 504422539 309003644 587015501 626154721 198902714 413426376 716259984 459193230 711016766 224538654 166958426 700805088 847501976 835340296 939188924 921223526 539010490 876088789 893059182 112521391 697428165 141449552 209468855 568623868 270936794 922654336 832887205 579646614 180755711 814450535 206613833 425641659 650546778 977522914 739070198 839485351 275411190 983660178 581672294 746549662 316225880 339848968 945581892 527216252 800081549 276961595 649291964 186391291 638033359 741743921 866640572 384228288 729019160 786541093 245676015 958577551 968756079 324674124 159024835 804117012 209739657 796674292 886116676 567470857 944734679 460342269 685544861 220988481 853108860 348759132 152713989 826806811 156425191 592941577 230859135 870140235 420467688 605183501 417194729 710635182 212254653 105614788 142853810 908490145 376222073 885745322 128990264 944866376 100087294 155810193 711869865 747707900 414445038 363924798 312147155 801706567 574920000 494432979 213867616 989975479 445815238 472844022 319204927 150290080 811294117 451368129 956711076 428814651 952424658 468500344 354969641 337104786 763270102 636875358 324961655 628025963 134198313 129856073 180910044 660033419 934120048 224278488 946539382 846703444 268032257 122037529 602491127 409435037 789666852 128347710 687011298 829505273 550821186 989183587 640932184 389988853 258844683 624772083 404249029 709242964 965999666 976953621 467643707 429322075 956557187 888134522 777379263 446772855 278750036 140697195 754027659 780408918 449622229 207682189 342220706 522678532 951729474 569364738 359795816 307838573 761676395 789182422 252335556 549220492 314908277 606674460 848590030 343184431 463008781 948143943 842457184 274679654 426316831 446687552 385502523 905752755 552520123 615214991 942792587 373429792 766533006 178639934 148529002 175145659 287715306 289460777 649201353 329543359 466100810 311973220 290467311 555785929 683266185 604845161 794495346 626625742 614991941 517398718 334878937 303383504 299405903 601804505 358612638 684999794 864147560 142002006 215351968 786219445 598528618 130456799 645855568 405110638 950636655 246243559 525115019 146067569 758726518 366542397 306581354 908572243 162470850 127519685 961426590 526346982 636488961 881809613 585370426 631563424 684982225 438781671 351515926 196071987 854575201 527610858 324957140 871244691 605545908 989262912 601915391 120714089 119351779 684889549 540576847 617384824 792486377 818181779 562588827 260781256 338401801 978105192 455554169 878885849 422372571 372661294 901154360 643405097 305988315 685121369 457454085 770623372 505666632 997088927 334836291 924282385 947436755 403573202 676412358 704084648 973440931 503130817 757761907 568761906 970038276 297574923 960137052 383231408 655668738 222097504 651372573 534787118 772856637 107748065 802485438 225807609 249436413 876024211 327353904 299915068 334468244 213496457 764673792 600727521 805681109 685508040 503252841 577560064 176993982 824804448 406721637 946232928 957605781 472553246 747965774 544856450 653791973 156707218 545624576 540571235 568232917 356462998 194909038 407607066 651903621 290918625 265144660 633608475 210056438 454953327 232548402 566974264 991734343 763403760 360463213 922386736 750190321 863093103 823845528 783389057 677122511 504879969 460060841 852728777 797222286 296609785 290187836 311020325 648585492 778049040 614126974 345723715 462259181 683877740 164396726 727273328 370188824 580330454 794696565 564147311 617214830 753747765 128743245 356271873 449468462 253387553 400369072 432820916 575186242 576092899 302132953 185934649 994917728 115699814 811355745 189602327 585729603 149647365 875766422 669535485 203280991 133949884 650236923 283201512 867559141 272889551 396361311 753521066 460983941 735161576 806008922 199708494 168770373 530618609 142362551 768318656 700768542 412587251 109331510 169614970 821158037 261900781 669618562 542790992 629182972 560930393 602461021 270589145 496826452 592688045 535296054 312864584 279790734 820644712 123744472 196658797 908228040 662298782 539226669 665162530 301513952 797640219 679163684 980178095 774675971 374214182 719752875 612633672 954228379 685655336 232716677 988653063 616991504 231601050 186282582 757603585 571924107 645713539 566192626 733577233 851713119 881203642 691915456 672566802 864645412 761382740 835022903 804544376 993967325 971957449 336891271 780755494 344847913 593134419 195146912 405170900 571251272 634769093 801539997 891275050 504630271 290255120 103192825 224774071 389578481 271640636 376975415 448898828 432188473 688889971 609901503 225747313 988109873 742397619 595065989 411104882 335968844 864763665 873431536 228672255 217462661 591411239 651338227 663599715 751914694 988984630 185408805 615397911 112023537 300672615 130133483 701927735 815479472 591433034 960042119 965498858 693082724 323244135 829702588 395526445 280214488 646965083 420855030 609489842 459696079 635307662 709080678 702536597 865429779 790259815 430127661 544000666 889897814 513306663 335320530 366089022 831180985 555712066 974587187 968804103 822611339 271126590 763618911 250527451 994280646 674940741 855095842 351221156 503101784 800763005 513367204 553161092 845658164 716993222 331958084 249069822 802750932 940907492 896543508 799130820 526204500 929060890 779354694 127782357 502654808 369228796 810779798 290893294 833437229 726677043 129241810 913449885 820281771 975353157 922321537 281889671 221192427 577416112 172495102 564382369 771822670 147828413 634590675 876859427 333924142 151680615 934921717 226259836 334866327 807837551 467343004 886823374 698858262 737022177 147062789 592244640 915155754 972447613 365591990 856267105 848836276 364768912 531599827 758588728 268861587 725049760 170224082 693059811 861533695 370219654 264472891 315766890 664446242 608405210 286477146 486785742 310397143 742865051 518066149 351442164 593669540 106452133 612807518 154210795 208777924 446531265 377448279 294204249 192502524 517701040 496308290 874231189 193991577 452986894 365896729 626968897 813365110 150695863 300689007 469800641 941733352 172516509 484633516 477868213 534922598 387628083 588335251 440369891 310537741 690875535 328713478 296241306 413404414 372648710 192742279 680580121 611473655 283532417 604705632 765469192 598800182 500257652 883944276 427525895 564725037 875878738 364580592 293813463 660517795 501303180 461968107 559231910 407579869 239419351 812943013 601729907 707320450 309658758 931410677 823268520 490841075 333755237 360591522 237200036 445900884 135548956 924996536 937377088 610230130 583322918 215260415 830141346 496014890 576263779 725929140 354449382 498029098 941941819 434986752 549536858 637023159 961694621 927100436 905115204 966798849 676971751 502105858 937968111 151911909 764527101 704612860 276156552 175686107 746091173 143390916 674516353 846772691 727202181 721724629 860034734 340682004 988926515 413385480 461805864 814788816 423969227 181249718 547044968 255082903 922799283 823771518 371675650 754960793 701855377 123728371 480259327 392292158 486476591 664671392 573017117 166990756 928857994 708050454 671316535 399054648 640319086 216173904 504713229 825103256 968003837 839794528 417621328 224519797 328906289 767886905 205893919 159156479 133921240 131016577 556895888 100590695 964710003 547417002 937627416 111140678 997764678 546535405 537252696 819349063 750485736 428273387 265599391 493317533 216542589 369141494 346840514 692844839 819809860 155713200 455299417 785452090 782257381 659688267 838172031 256720391 713459906 653659706 998789141 176157095 172191071 353554376 942159831 308683339 208816442 207063977 343078454 705205969 278369189 120811268 293196653 267913130 687543266 922287583 225610502 817970008 966891254 478557892 869224320 760687786 623190589 572786140 489636299 520556846 965740147 371588319 716320302 401515434 723024130 983724542 234481153 471442066 686392305 786869321 522587717 964765234 411517472 119044142 572480133 675840294 779365544 782792109 381640415 132006134 232693544 660711973 266513003 194269872 979857287 684680241 596662626 202038390 205770505 839687806 747734465 178575337 240800636 913567481 990957504 376966814 411780474 661951913 459611548 223832303 878246611 274646339 576159094 665180565 118972963 983592872 680668254 857607678 125474757 274148102 643073338 343459187 944651890 754337284 846614712 680512765 736287481 319449461 967632506 411881762 947009075 478837450 356978998 666956073 869667662 518516641 333459701 481857547 885745404 227918799 915690107 307482952 162306835 766700007 144500053 843497537 858482912 817282844 156782163 823340245 773710443 484340152 385822207 169922160 658394568 357572574 485784736 487059358 714217569 277274588 968018645 962561527 535772075 482881232 502019243 243740744 490143042 107766517 246680664 359787016 501692165 763135917 758954911 599129814 302468076 996792002 988431234 404677343 336953015 448102892 639533690 740628743 204615590 229659977 239313696 881626680 112388250 993812481 237376902 159157205 983133505 795617468 245686161 505487086 127123200 267243946 929635654 132325917 248315339 164381533 391960435 995039886 923109314 112220720 195976473 976570428 816057203 245852211 243363427 351330969 299699860 472328940 160646013 557226429 731404879 361460914 795567057 287800480 596219358 747629258 767339138 319824848 312856526 178790658 223725924 921141661 955021879 473232281 587607581 980191576 973411163 682590237 659025142 273549983 212887264 807775592 384589567 276309636 642119577 582566377 696600433 524500266 998370849 211619379 138789216 240862078 359004352 550580112 733462879 611594458 516982113 266079545 675737749 970526302 520608698 968127313 238711016 979325323 724792728 209318569 799034473 687935210 494585053 298062991 137186881 147425276 452146506 246571234 862463800 409516481 937344520 528974888 832220355 195412020 648923659 660546816 379204673 111140808 900227295 478569854 186125557 524119343 325153040 614841720 723162032 539437269 516651453 940166641 660077830 140315847 825473973 365035696 718579980 943662551 170027516 573773915 941052223 410982446 435202342 489610725 619740546 909155455 665308588 113027196 134367719 133800259 344912611 141792091 113760696 206521480 225851554 696130484 338825957 964362358 606214618 364075136 701095745 871704813 692815375 739217145 149339089 162783809 455936473 390343820 237815131 604726425 587930549 625595267 817776774 384299623 669365339 382127381 414084790 293238625 316838349 348929341 682533926 207348051 475134397 917621346 327364500 190228252 718402061 491833200 621277510 413136157 485573216 773551177 207922565 998193806 165483708 596121813 216317923 843358371 313271150 197880474 201927003 336324470 204458526 592711852 254921036 164015373 665699081 249020374 432430913 146082789 194570353 154020510 121100301 255491413 879176966 987342555 769301487 843594085 657906004 461067304 459319278 748673338 859718187 274305506 670073545 225020365 533100162 118558833 150021368 871416150 713049585 765489980 927881830 483621468 114445422 550772313 885426793 123980402 756296426 233027207 166499099 430785610 477882053 962869625 490296400 806336920 382541066 378202868 873788774 544054235 643478250 612746466 806370668 756253238 145331116 392927722 773464423 786751288 135353618 277232851 212104255 843832861 528487425 894004890 400177112 604865459 987885796 349352765 683029851 828826728 245779172 827765966 823765149 914674084 451643086 803064506 938005582 983693725 464909575 500205793 695474456 696096406 631027624 865697707 804453669 526336300 559292098 780786187 611009181 154588416 677834651 941918952 223174566 358930792 413459495 288818845 463015462 272980093 593713614 204627845 611050910 613285996 811197990 437241199 405731392 769337580 985141254 662390062 115422291 624063226 704231387 926216881 312415825 854997508 284312342 837614515 512893049 226683722 818941802 464029597 521368257 637616974 145476970 280473851 313994798 183935214 532324023 995536339 404089931 447085681 121921348 489062805 565480373 382239917 257838563 492585482 414966869 120136782 760008079 408808770 174108912 224381647 865947303 832785849 162404360 932161377 770383777 670539016 490295162 434994554 560869515 885532264 521812866 581273913 444967091 105294703 151322758 871430374 451915773 813742663 951763131 948855943 424437771 697019650 283435480 117103483 479486599 700773642 276815886 465264500 681718724 918103428 619490016 534150940 477619577 247301504 248321631 336331345 176139161 456147116 762406737 934609488 222524272 107223619 105464361 276383470 710121208 680117512 732927409 704307384 370644038 441992866 893732127 274749622 805426785 865094375 901415306 376701129 897234482 100800270 587525587 718221044 259845484 519470064 617148904 849722919 629425780 630278091 717380982 351009893 747956667 561679560 983513962 670033314 116434761 564476598 486125332 242078502 397376468 827317330 567309556 676165537 376736708 503925310 298268029 601460419 805979694 891503515 661380208 949770057 938774045 419804342 590588076 783858854 164125848 419607887 833501929 929315524 446133315 222959099 253762993 822168167 547406708 769222140 243083046 355081812 174313292 107873085 973908226 941869600 675243998 195171240 130312756 250632084 450972166 352540058 494897417 302355590 653326642 329356474 788411431 941464498 484514132 418078238 463649757 521814440 833432347 549137922 309997425 581438516 318138938 471766652 401671643 460901224 233903207 816285982 674831367 122545775 887427150 992992812 395584511 267292654 836899152 583011202 703379781 702604943 962530000 760357242 800225740 840205438 181960404 450233388 244085781 523580849 912747477 504759147 872344943 664017231 142632264 738644059 304139426 920620304 286263211 754249946 632734168 438825288 685535345 354115526 215695962 983113877 437982124 296943201 725645161 173759407 132650722 511142046 746087372 246550500 309329534 728279268 169625046 566522928 736727719 618052851 178522792 349678803 310189896 690248485 186298373 377717251 711584922 861162048 903222034 235353407 733631415 546972284 317904412 480318180 854177587 737116004 337790033 280895125 673619757 475098004 971770249 189817453 301082638 634825845 303757562 689014299 359623828 857519708 101723997 564692336 344352225 690256426 539191258 661591483 652725532 592663596 758948099 884950197 313510238 224144403 614577156 596049722 689495769 782758842 158808000 126517754 602998960 240450851 932884386 344931345 258105979 278552359 702436111 476584942 354704263 214926141 329216452 868885617 670206513 154635347 159450450 897357755 656438064 164135140 605956913 625780481 428765984 111114245 539618352 674412297 976575623 259621460 724675315 736981049 305192496 580699709 974394414 710086527 986808681 792485373 911889481 585430194 331555957 615445244 136591937 516907179 416474206 178012417 541181508 714214619 471820264 666602110 987341404 381748838 316309510 585424394 718817239 776322143 146783109 894547678 103741578 132892168 823663350 488248210 860657032 273573542 432351610 376233258 687714018 412276042 391843618 245887220 663724446 592949700 521964131 747081148 724769988 937184681 568220813 679693425 308036863 203810344 809495336 744006037 443000398 699085841 596632461 950815973 461796338 849361240 963628801 791064119 865757039 225424896 216219969 912219885 576974858 275385886 959794863 338329260 413296374 439592860 374228239 757742120 741979188 361795675 969751200 252007035 626795407 303463844 186062902 383273100 520969342 739128543 209307087 540441356 808648522 269833298 729822553 333929268 688778378 258948537 906062854 905870696 302299270 332105998 339766950 406760523 745641117 230698972 512225766 618976851 306796942 301819481 801762924 213359120 514920546 670555319 203239481 526341003 292447557 929746271 204654620 239384577 958715989 851989768 941599877 697411696 153603789 282232323 123534961 851491278 321298030 521501102 951023847 444738502 895365010 455786736 910143451 402246902 350557670 668718099 954553609 116487743 782921050 646417814 345088678 152129587 367601931 162478445 690741123 153330843 287263344 514789993 629022030 832072165 515755119 566052392 576099776 995302421 466689214 162771490 300411701 370656879 270166935 392858106 807200110 230968615 426785299 305008178 406689018 218336462 494064339 826540331 875135950 998241273 884475196 665643288 113617012 151797023 934869997 543863729 440470767 651731600 418143534 252696990 897228563 589070504 675217903 494814687 756029601 625838742 464078623 294304315 985653371 457713020 707274870 652407403 758492254 768154276 242348961 890428539 239327760 447992590 534706319 918929267 866042157 767118949 515838030 943291930 562618515 894228323 574004255 501669740 963048584 539128862 784768512 427075065 261566471 477487403 642838360 562377279 309783992 838052781 793087870 603995947 327738676 277711265 138369030 910294478 218896072 498234291 799400949 493861672 497674897 486607275 149968123 487906086 288443256 188833318 641382198 752574780 673344035 493498073 508515399 227790974 490817535 686174752 291209542 389527746 525709339 489268850 935411962 524330572 206814962 199096871 335714172 163964835 267067905 240794298 927183129 682309333 339810891 966256074 331270585 543747851 111885661 931473917 641843894 993104042 378487908 414969505 391503575 730783035 548845280 621747549 371791230 223150147 682985769 437648701 746191715 973121276 138247134 251630569 945767604 973768487 880574951 787505851 693022732 440070823 645791309 625512112 605823325 305160005 370780901 117864987 567428178 391879997 529679916 317943533 737976282 189178067 928992943 186353076 133125050 735975577 305363980 799617730 714840286 961554289 506960394 937223421 890629053 829410281 272101249 309768521 743569815 776547772 253380398 177649378 214675328 858054088 766736554 276678156 259738723 648589265 647498404 408358182 485891623 342853842 601251522 212340346 522040899 926673594 394493607 644402154 972172960 154317534 422409212 846590237 439423462 293714979 979921399 694645779 969171107 922976487 369212358 534635435 239941331 143552680 203169276 339551462 102721546 807056280 563002871 202696264 188506444 936506563 605150418 830719605 935239748 308285643 562051910 726685099 123994059 857354208 611715873 820921682 702846958 554013309 111261208 436119329 731410079 725853171 817204660 746180623 894591046 701305668 920781188 683519621 536735662 901255304 958473189 875770211 441476774 176189963 839412695 588963811 320648978 761382924 569176444 950663095 325900174 664080916 231694502 475655441 684206294 731939117 147642869 682406304 502686066 673617360 996070663 385508280 123002685 191566943 611482499 960950262 115402606 173125165 522371192 475247565 774060684 351537146 161766205 286193673 720718023 642235392 472651467 172690126 751533904 863120373 490746758 347110495 378052443 624954528 534721760 545942820 894862897 349998962 171938297 617556437 142679941 177169787 126553851 887779187 307065355 770348596 840812971 685454438 766352613 952668402 193684752 952763595 717157850 361654061 802320948 878276157 800064661 858914712 400113995 597387049 598901801 747753303 251792576 964987908 262139900 449648840 490170423 133808256 893567467 847278456 441067548 688892055 884712604 901042893 208315959 917850026 753605227 705572510 500946644 482860579 134835373 615127047 948037757 449746956 624505514 359735676 652115696 779882957 752277633 428664899 889775948 725293976 205464952 920197801 529577532 459633435 565423747 662749031 952541454 638499714 993097644 358734099 956726055 762531280 869542023 280360409 184524221 421765118 549713231 988132678 125020698 819409454 850543799 544046887 614037150 790798124 628839707 214236020 635920278 476591576 590886704 881120307 232493527 352332991 992955359 583925241 887832274 825156135 817324751 727426789 671473796 247479940 911440161 944217135 247305387 274176052 182845031 153204708 110422560 194155826 670302356 625583376 926657359 979644948 736436274 566998553 694640696 998012772 131246727 163182014 516704540 673859970 920423750 560333124 401460147 981375308 759241832 515974138 565286930 638494359 959906935 606314752 746332544 303854565 924055112 795325739 128976633 561545760 286213102 185932960 269507461 702395207 177337823 843629339 735205011 759431822 865714351 840580031 509691601 644626520 826375229 414203822 446419131 832326915 888487311 811419989 220445632 473251077 981602040 622809260 532679812 795085601 970464765 740485464 570335685 354370132 374506395 687077244 522457510 342806001 668924861 563766120 615091836 117140313 442903285 117282955 676443276 455994511 196588426 742649748 630640454 443736268 974020293 778743989 170431733 314854695 688680653 433279717 580236702 466135943 751069407 211126488 632165345 308733536 456820994 182407754 628956749 799089041 582534668 865355729 920707841 314499484 432722262 675017687 722535582 770989577 581004934 389730760 396932990 850420571 355621534 288772521 607155997 690776455 231745910 592667521 189099505 623408857 604512262 217567850 151821157 691681288 448540763 956055556 578414597 323316876 929936158 709051594 991723612 133529147 679125106 166010305 601013363 747827441 436649039 555562590 380033470 750664794 843096475 946606305 642443084 377219240 276325175 227484501 807982843 648687575 523714539 374154672 211806164 566680631 475580417 849086450 328063959 235488176 286156806 124292834 323635645 523071225 960424643 664560484 474943288 672726276 843673535 497297433 780238107 787306752 898925858 380853175 934610441 425400198 794074550 628621387 776065289 482387583 303459671 334330089 696498928 352408974 604708390 942310166 317431355 639506543 163505882 385846040 832584943 886188376 863206858 650091299 661805447 123718212 489147667 230240637 914195630 634084373 489353854 537268981 981264420 297827343 862645832 769677526 467838788 970146430 835344935 521663279 204689923 575493239 162651971 587722282 977332166 676671040 761156090 522351215 810665938 576218434 862307791 394756419 977735586 906333120 746291095 811098091 133924454 943688233 248472955 743272386 682767315 535548244 822093883 485192563 380458117 637796370 117054276 371868972 910434655 542429956 569926819 985449300 327388905 695150952 183247447 757121159 104868671 356689191 529410701 348392385 296853240 672702429 169019640 154474467 139350817 152103593 190722572 377978375 991637410 974293023 811228024 982623207 438632600 707824240 662696263 690715242 660490286 719714344 214020209 796124896 707084071 331923143 224792774 812502575 711492388 426979435 152857008 968479406 603503317 300945671 173891029 203036847 991009117 232338562 492485791 343899216 520207395 732133438 659049778 163088512 783460189 279942093 452670420 313648910 913417290 869667638 830251628 123934804 452841785 758083714 498278451 926809422 440378629 926412537 908185804 464593834 703365134 400099870 792160003 359470030 718787305 898741638 540239203 330675550 183324022 529945432 548414772 948472975 249113532 596574087 802546376 860860222 210613374 514534901 475003703 899619101 748488350 886322920 899937352 328524446 587072234 422297262 659856315 112990445 654930966 931898914 203242959 749192984 854882296 522469093 292352354 477505825 557083326 751530401 160249542 299586996 565282042 354643342 835978673 233506213 876564373 702573992 299138362 370484487 510970910 523955473 598817693 187405758 737098968 650570103 762370239 473252605 947319581 526809206 460108736 765837738 237119124 230079537 692461117 981423839 770637306 459624943 638796649 737622110 920789282 424283987 104577250 534541521 113392443 378804235 765063553 479294538 361864845 706375829 219346798 825781408 177287024 104727097 136451645 961271225 501887532 238410499 889192506 471780045 385514399 587055450 705101514 461655022 281464555 866672563 260560283 818352678 783641680 514587593 476011504 634491251 278638585 572197941 790421797 383207542 414106149 564860147 665442770 945381731 581128749 118380897 406100648 291994327 308570948 549523139 576024109 469267340 870350295 373113553 922593282 837211547 730961062 439893000 292503507 695463600 233146666 655396232 779790765 731734622 484303434 905779171 868928298 769660259 374934620 113336412 600908003 174368276 621558020 606013108 413201667 483267687 136533292 586705436 577111029 699489838 657783864 361253580 530835105 896705376 969816160 329372967 202212319 566314630 852022392 150673026 783866818 534810410 499747263 153850178 513622206 306247501 927525693 660543316 273639473 952773658 718080510 953435599 460949160 900152351 458522341 261660462 379069502 339453242 740634531 899118795 380246742 119972180 627028094 351280610 224122231 174802021 766487824 580254557 847251102 295972601 111820940 339538713 137523918 350466304 523611947 484216759 191536446 890206041 389226338 972861917 989792422 850843279 753382063 107772853 174103925 773524284 350094627 127197957 355669857 361114541 337688180 996868060 825001711 944474053 707833662 610865810 395823482 974729041 930148257 155985937 122158314 935075341 377595702 203945846 780141606 376469371 380774631 556016139 771252325 434029967 835453139 817454380 526654470 537520024 234101732 339488867 977482878 374460405 711827176 675303490 811611513 211590962 272418030 150626955 175477152 303285994 692648167 510211467 278470489 244077830 900366237 309178486 799713198 368644413 950414120 791457604 936863615 209801231 162281276 156960765 313169146 600347122 852115836 459822313 173359406 124610505 686950653 768314872 604217847 373690287 914432853 736908686 151312796 746589477 548943405 497582656 139586495 378826758 939982112 814376419 546114378 269887095 905836392 242971878 851148322 812232370 678835275 999102447 554017379 943265975 762600105 800147762 228219588 623695469 244369584 759834485 205683032 625621212 857153343 142267045 507723329 181250339 769642447 286297123 983464343 167279212 638329352 197226422 563938913 929125508 416022968 622750580 457744560 641196170 282535838 826233743 119747244 795091301 172321214 767402809 523120874 585369341 881525065 573826008 923219980 859031145 210538351 782220399 867081340 629537671 123540587 770711541 361772461 603874810 310355986 183016798 104814433 387533461 101836238 385117923 227727549 701418413 123448484 502723941 574017485 665853100 642288245 673278467 538409032 778517453 376118367 715410849 817861775 842798516 673427434 674593478 229794935 724807817 420918636 741619481 174739828 378740506 221903915 903846116 447151789 259899815 332308783 542883799 255911313 867719135 322907258 818959864 838438773 492439209 725564934 196587162 989784293 767570687 572269538 695121533 316065841 953768507 895936843 967311068 260743653 704623459 208825563 361470792 656661698 708369055 910730625 946724223 433185617 207106744 376766003 806098888 980830428 724211238 370392595 450524245 479276092 867566882 839280889 235116819 276040063 396563143 459573405 335895458 264437793 900079547 878857311 525318437 980859883 820872754 547640875 341712792 753929366 688345179 148872079 941426491 474740296 163007072 200009312 509374174 741062997 523307984 860413002 195276235 582035102 483859315 309676528 569913398 121265164 959757644 182388783 585727512 877099320 127692592 967741619 266122345 816035178 165041225 509922388 961879836 169216026 935393569 135009727 456919404 228788266 419091783 689447816 511007491 583809780 934965841 673735727 468119363 743527313 421846801 233150966 378354909 333616414 460121188 131504510 249130368 535609554 784416796 109118832 438661292 322033557 908488410 165303766 748303081 100492190 730507730 122738714 810586272 761331025 560451022 733930862 726832919 480569748 387256701 645365035 640761288 172804235 160948714 143990563 260084474 449113367 920234813 285715532 524378996 375665109 472279551 281455384 949925006 949599477 319263054 113195505 421242513 327669618 458927937 630544942 796408856 649520317 625949293 135368106 761029223 472901155 224000655 217079236 918174321 888956765 762574294 274679927 491630812 498113824 455586113 461484225 176729369 593719241 489334190 965156456 849852883 769533364 716669011 807752649 331892872 887028284 916249973 129501173 545719961 429909050 728552542 431990415 474783252 604831346 277014586 462373035 310898052 527841246 274685257 824115419 667245209 711651974 968857046 532250687 697797240 539197497 890292214 921901768 483008497 742027177 801426868 695913889 675714367 308926865 139694427 736158614 178211980 128141761 395775327 743555090 927101448 822032094 514118812 155719876 607598369 419266216 266055760 743316026 287764330 441149460 823666104 703840695 783367730 504482365 584076127 373569773 541288655 527660007 506345064 749514877 647518980 142525043 752868324 478638023 612001389 823084706 878194997 547919582 924707886 775221430 942988888 977505752 704693601 325296282 689468411 182157564 861121102 310781006 659478267 709494420 130729434 341127688 176414255 628586492 205880458 859176721 534503181 941971558 528587589 709099891 716251794 872504839 197714708 990943744 754696649 515472349 385355126 161882189 729331243 972512648 132186847 321873022 335750862 472544975 116920268 370678082 715491536 363785652 548585449 451132678 644304908 810161584 525028801 530258761 989989333 704172383 599092307 490242130 489730743 160120979 654348543 544268428 621035713 991503826 275666861 398098614 379723635 861201234 782976161 445130829 175402081 374076901 801505863 267833804 118431143 400889519 415928242 692733679 860657591 348054486 179884849 640067967 442705727 597813113 346072883 675983405 535952273 438175407 451164092 524548432 263802962 578439416 647459876 955370594 444175460 948682593 378906109 114168229 968690866 294276454 339417010 468260882 116224656 936849331 354015021 698675874 357408992 733446447 964814692 381870591 748962126 637620156 411012645 250571475 511332249 295872266 491296883 833970811 586637805 993702557 108498385 504926884 973804505 968494704 761826229 424568999 857854451 266821752 262303240 457377196 123104074 475751997 389500648 363964958 199710347 516295002 711802845 648285543 177642464 623455222 256162523 235569111 129304690 818736336 692551854 960415209 381459803 609588612 908754185 159098486 627291228 477441528 519288724 277853238 116553961 627712017 207359715 306158948 226139715 628115486 118069965 897187563 934175096 421036827 338014060 195913777 930184132 611346196 657182082 131370899 448813238 292427171 546874467 921545059 979244469 976125420 701739312 934259649 425747829 934434017 832796240 618585344 441614649 705776818 567505188 939209439 607089348 619959627 539182962 487842569 549083993 157057289 223382812 298905468 388099322 714261545 674643285 790929757 480032312 715183191 186568942 253136920 295906777 145186398 210734834 616528116 403848147 130233220 755277600 333448440 534813717 264623611 240207222 526655198 134695413 201802826 551700008 999180843 889011089 457850754 737844313 454854972 155926884 215068057 674640662 786292824 454009752 958375788 441388775 693544167 903027155 942905248 307952372 874366981 356263970 563496973 104365071 128714024 424696820 909560241 838644662 817137228 942528888 720539551 287086475 921992003 632547405 399046599 599588544 604711100 790443318 136295769 691586803 198910442 422409382 756316919 777351165 625332560 790258027 432853048 846674717 232296615 575821469 803545299 632003103 121923683 442965553 709558530 440642590 660603400 598515303 504117566 214698753 805968239 448335901 880137328 100561528 730321407 852711537 921005121 690669369 647837029 160366137 854760942 683497439 592044621 368281497 985917800 464841258 343824129 313063363 743438674 273474953 953335642 347327935 479791530 318766939 459589315 367281532 422665319 420153590 670612523 963539676 471507200 319238998 170756027 394074186 121817061 842834937 303505682 887873195 429059364 152253800 359050301 188899066 373705987 631513640 104046716 162971982 635055375 507171348 646547558 513684734 597330487 332957739 309603549 261984202 891416551 435024755 436173316 788160042 331664154 110470327 293272809 523643868 346186644 363375062 883818437 848313669 846590113 306028649 456889674 377288464 214454689 300260602 940069631 424228695 134841970 981430960 395706291 987794942 273914682 169004431 811973598 542894161 883095617 919530059 825082148 145563740 940496244 242871465 977309299 507135532 731033732 540374122 403496623 219144519 170363371 590028609 997148039 902208266 398818698 864962870 801084829 478335299 157006545 598769368 207978444 598750565 226154368 592652794 702119580 340893316 508462433 689427095 240378554 250657415 552840045 809050525 384703820 240507204 507036045 822950125 592475125 463560905 527091647 223323939 510886967 173320915 968379853 773925285 848798121 528593919 463945188 917743699 916068636 877896642 943070135 114810274 800455833 310318976 559521625 440437800 565094877 669975474 301540685 508796657 184303488 606661996 723880289 111496019 711040364 716071103 170506149 957648793 582614279 350472259 148576439 832274795 525106364 719405367 363612968 995472491 175556847 337929812 953653359 590071637 431117035 700343118 609973712 907808957 347078621 128984264 619016061 404027285 238967371 953198224 930112723 963310891 202427994 896981641 171704604 654525351 238667038 616479098 291195379 971710953 910025631 412099215 103646252 773922316 673870194 309119671 417280666 171496007 780551484 155249053 640728011 511130252 299630097 999888383 842932201 471511693 439251302 482549076 346731119 233214768 538828899 562925379 288880910 348331316 883095331 945707374 524333760 719046923 593229091 961454151 137505345 764279563 961416659 960932221 261090363 127942786 307851010 352108595 782471706 831772792 964573484 440798870 880270913 276430450 387927291 874053418 767628880 188550718 642218663 340797138 752677340 470599272 838655042 773775162 532085054 833011695 755170015 686099074 642839147 368525660 438264580 357040515 523112998 205415652 428584865 382543779 501846235 365329529 912813437 787623352 452668325 129187871 493233829 925150225 635697555 987599829 271129211 261780822 505664769 363129723 320427575 215421420 481204997 203782984 985785812 402318299 777469654 899283505 687502475 637648376 959894861 338430573 548412465 188448149 543603968 549391949 486219726 336454561 955642900 243441634 843234848 185971607 569279048 311306493 917119632 789504292 830121912 242014514 881142797 846484290 672899258 371659517 389451895 554667721 822900932 310509904 576167410 674414859 585688905 628566376 940874038 598087305 909142998 813590580 913695565 753760062 208951817 586742818 424535212 347336399 780059244 786833191 959254402 677561609 304664080 423874296 374904664 896971917 260009589 236156990 408401487 436310256 431446174 361317638 502993939 170804058 254600457 748093318 563073963 410655616 523563394 735271966 427926145 216244195 801729218 168041217 550235803 257502957 480178805 126535920 172815007 671752516 471931783 411295713 440889118 308985749 160705768 626203931 896129647 299568160 719775027 612187129 573910922 943126899 965129064 479826948 660994902 939447568 810995088 271013214 440037012 801486116 376059032 757820865 570963779 622035806 701034476 496637194 499155061 754868894 371988292 356109875 770028507 479743987 479785179 624091968 367245437 260896212 980550347 603637588 334957920 459453779 868937707 279950949 743332709 950442176 858641651 171260723 639652526 420798622 954491298 189698616 375179692 881380066 556838988 409245451 746714490 406257304 961980776 159205572 610924318 231290860 573501655 786215603 475556102 938946287 438125366 497222423 973374648 708295520 248380949 782484727 807358973 714842368 814080000 657316379 916882759 791190270 767521516 890274231 826319078 721361084 299146189 202120057 130200901 567908711 196182132 605713953 518940842 143263478 973188963 546184726 719827191 487751841 367568200 810726557 467723242 219437939 677492384 318435060 497287340 802734325 133256978 689779830 888908915 411656664 215538814 305378789 182573661 460217768 604720950 378604712 420425824 319482906 584356403 698692017 965239464 167689869 162426120 820264650 869680716 625015454 845508501 811985875 583418965 412672652 469776192 301757748 904548030 811606125 409152647 511787042 555459774 643493104 318733960 272526609 954252199 617584076 506970088 129638147 573162254 914201793 751668029 860275192 744697378 111529359 740357500 976012754 580743651 324042824 840546655 736565535 936066728 774422723 133318193 497992685 325491834 102799365 680614039 618223172 961810716 299973350 344867801 772730680 177782064 318315716 861873100 639603115 739224240 270732464 855920331 488461615 847310053 655419830 647115659 770422391 451557766 684342033 292081694 862723299 924613538 860067683 786174496 491757377 168730930 511963794 962115075 547271869 186425071 664561171 912137708 218430636 665461779 328735119 162182388 391806452 515261649 759420918 467052452 452289590 763313652 968073248 367467262 810938224 937191640 687099715 603684245 989659150 786672713 704428248 785875470 814219523 549617538 622846949 848366045 474781530 404678922 903530950 554121607 734229512 515473778 339264271 783946397 454644129 159206067 521329878 769559134 546712780 690895325 855242223 753041043 470103225 886724729 578518815 554507380 377800240 940546235 241380769 964890479 868972695 893354864 321065203 975604157 170708233 536835446 933558439 381357830 608004762 604737983 195652085 318267922 347501403 558526720 286597100 650953010 244214421 510123315 190544821 679830682 511627159 218541201 443192899 230739678 335467573 689025195 541403614 496451611 344759445 514406187 574199228 172089143 541301197 981587661 841117493 471778573 787973927 678964754 881178222 924320903 793595958 975655204 777707362 951738550 103685512 654424212 548982823 511802936 467649617 721995551 726687037 622907447 255888031 879026343 849323903 328790840 640503867 944438171 438052717 395894656 169449113 787251954 543648521 149043134 627404279 573141137 181742109 714140871 740003027 287562494 164905795 922454507 848654015 736638810 424838777 905616834 305894498 799032307 211400911 699037877 318412363 356851469 542192034 470903110 445151858 485138817 981914590 437947270 237312871 800085653 310465794 931551702 593772385 305921679 574219549 251766283 510209753 868594935 929004769 106042452 567925254 748810335 920064134 119837754 406218109 582543688 569129167 985982766 363247128 341910079 612658039 108471179 278105045 240506617 517155534 827535666 242829509 290309282 563720256 870807755 632584767 742794452 873596249 715277162 220445101 346563619 167734913 598082984 289154487 809553078 243190185 949423166 362534460 823722858 356972052 992212727 919373613 141073523 588631883 898224020 621879564 949657584 796346795 188525951 760884890 198479650 503231440 358635021 975188654 136127222 174410045 536454024 577023936 641661823 717313044 961302074 640611121 532452537 835015249 647317872 309164708 497994934 801594049 690457203 657421302 672613338 107423983 387508213 366191998 560026801 870385736 762505670 647683291 200205455 244525607 710320948 766517478 164187551 364956639 647517643 157127959 790115717 132415338 399737642 427008073 733412845 852052061 415334780 848091292 657762058 247524012 577527510 909614755 293369538 551505355 630094983 326941614 462989755 630611571 919841044 820464531 208690257 507608730 989103202 682075680 121825048 938016645 662867118 593016197 311830025 594440633 837837768 496914420 233958241 271116719 476873468 628531374 726660608 770067375 341650970 978167255 655780214 271788340 723725838 678066657 538880628 438626488 528998487 372038176 935107970 102996464 757335050 141516616 222822363 816969736 462850258 974338773 210203894 145894423 697541064 494379070 699464277 315083682 303333939 291733867 815545837 183462556 328475605 959935371 247351320 734098793 159505261 867196848 880419275 956622193 657770885 829075745 460958652 370569864 134006992 384083189 131622584 329336685 981619680 859690217 993226841 900902664 902547794 220390359 104685657 581100400 603876979 381161936 963806439 182370876 366619740 659071733 899696764 950483910 849669266 782901345 253816150 272372189 617877627 323971848 973228737 776886395 101077277 167269412 628496570 732036621 255154351 201606858 466548810 173547322 700463097 218486133 791807863 531129077 561335677 398576082 917788689 643112676 978100587 131341507 874296984 978251097 305783312 528056591 301175890 118487039 279050568 801005531 277211052 824627697 609376463 450551609 904670919 564903098 250246220 449852039 642982679 881685488 645216327 579621474 945296808 967448704 862702648 619335863 315952267 207142215 703954486 584380028 390866256 222308287 634975766 389364027 350688012 951089681 493336354 406141932 332659839 512021304 507449335 490231290 116787176 735119184 722099666 457435276 255029513 101511047 603673570 120590570 938446978 213054743 428678970 327699055 501059610 173824196 708107778 394389028 836993782 944734880 720635839 569217358 567816414 437250800 824010551 699040518 679125185 264304123 334534413 755279519 803729973 114624474 541422968 480032826 297429675 990577886 744674838 848340741 387882292 906769478 391486293 480106661 632435388 976622070 622373363 868027454 830671830 171484737 182238437 957044173 250453661 756193684 538866929 657292251 198037459 602621077 150166616 310005839 515839442 983611968 867266784 759050057 383109934 746489605 766375459 542660485 750134754 451195357 812638762 481873791 368993132 496887492 883122776 882255615 230639423 768589696 293914006 829396183 573736425 165245027 406510890 652703996 553598114 589226090 751652742 839822390 967498446 522690396 882377542 638531985 741112927 581852023 989862482 134414910 656571246 364138637 262002373 153367394 994784086 612548083 350330587 566821376 718828155 964136306 649843209 958298421 384427652 649490939 664104086 401322872 664307766 523692829 708979971 799590134 171618453 167619216 496329817 143426547 452847454 175175072 520755234 589434674 837879217 865014030 241575539 182224119 960177153 378899317 408326559 112685531 382638382 317275332 776560746 739268286 250098699 984455106 992512800 864433510 481956628 437281825 620384262 323732626 248800168 230252559 895507965 677481873 784412544 665046440 167281455 231890303 578471378 638359140 586878719 422745083 918901684 228212692 907981962 923826885 972214621 159233822 440401222 185675808 547668371 714626078 369766319 764125677 602003353 864888861 704040095 790044938 214942039 879728033 251058201 438429454 769069776 589932612 116224710 228995492 685338891 529802350 504090661 232843405 449270799 131610824 923951329 415151868 769695875 267345444 423874039 486359658 247640741 901543623 639596906 486220655 846016509 486508742 945008227 558367859 974739064 317068281 829357293 167726984 426753465 120054774 296348010 209797603 485705201 682766631 944106880 600650915 381631987 154025532 646141033 272853081 556943790 124275747 869613684 603787551 623801396 811105503 959729031 338253555 366998547 390235580 489784471 575940383 204573440 862469978 470656240 401046849 200873497 279035190 656951755 400837454 243983988 940240563 762416875 985512682 830186915 681352481 190562605 770893985 691139879 205744426 722249610 839779262 635646145 850580962 834866983 303479226 939408727 139573697 233466338 628779181 871966475 495691211 565967051 505945903 889909736 701929927 199642903 514366127 729933322 305821467 181501344 235538790 764779188 774339146 900764015 831238051 134690507 125626921 730230355 760939436 178794194 401608292 724295533 218217288 135701247 447998175 179917839 868387590 421926325 376274629 554276835 859608726 473663116 890518304 219179381 483081656 911109074 886652491 414864898 608098422 618328014 178831311 184237452 293034687 796642025 149018759 985017511 953729307 324579800 974153632 492126251 995743937 440150947 713742091 327121195 743367109 839724864 222546935 765183514 773202960 278897230 613802060 687561131 494513933 701715416 516498200 206484490 529154152 267743421 723183480 128239856 556075658 873227580 234403666 461831272 374185142 705603224 365961584 229864692 765000690 185439917 864525993 109955886 614400164 754161250 300591762 335373347 117071385 980903153 524764496 217897053 452275790 580926469 766339632 772293314 404140647 364093065 709799769 229852422 223213907 434953064 163992603 648616253 599896177 378263699 995326171 702450353 531977302 499392604 625304007 334894199 572855626 618717420 580955805 451344622 404466411 426001553 922741458 659212936 915564589 381249146 607598607 961357675 586671123 924008053 261914037 767030938 489701832 995073634 465925834 356817737 406427762 516005603 209507366 676523735 912971576 660093828 159862142 493787807 759141032 636275729 887079528 317898262 514031166 832437025 782102123 292110374 398742428 304964797 389206346 996457227 531500372 754333745 505131900 928077470 599107787 217517285 756932249 108366150 958397262 427420575 688610795 625609175 533700007 978151968 935867151 209689662 723638542 551431637 314613598 504877805 757964733 553968501 705173327 649375579 962204334 692912094 737638001 876139066 503740599 649000883 350042526 162546374 272738313 381148838 974173993 448698053 553356463 657805738 825779670 546842844 136215402 956272211 914433323 664704095 325839926 909115048 491098677 928549748 116435496 395217757 166187587 336764133 525433740 904086260 486387492 436986406 827387497 237969869 756905052 415646682 365539298 211585838 649197065 735832565 506748975 181439493 185428981 217842043 702359980 930188618 681493142 327494834 706123290 255511038 498566961 905269030 275439652 552119989 743072988 134239037 512198241 641676630 159540813 113278041 270440858 575576768 400434597 952367703 662831661 754274405 508004386 853709743 412149634 649699940 733418595 414334147 626826711 202763835 533267265 699751854 614319443 283265969 979730983 809085493 738344218 414488334 487441716 336768818 945161815 905022177 202423834 471709196 147958587 836662883 306891451 212679035 729946740 747820244 563340745 324451084 133300365 691654860 305740605 671560922 129084820 778876611 662468003 117210299 773986207 845705143 938859822 767730444 243323055 783614824 101462520 837335032 177771637 183109808 983538098 737259800 438737836 586359500 380542652 540277752 297373726 168319041 339391373 826235619 193501319 477209375 339374586 502709479 161607902 866040871 266767426 812337747 467224193 310650558 123787967 207389261 509033718 336631037 990694668 394654553 270557802 597520787 522812236 665263196 921165247 677538226 433595730 984053972 627550470 861644743 428797631 647291041 359210381 255771304 764377484 105036268 360491584 592135031 120520713 900874236 870903947 506364782 129351946 329465612 382327902 642530858 977315864 539961401 507299219 992817849 770496990 678519882 108211007 416577001 722186605 266750279 802564031 973327965 459658327 803694124 587129371 730274910 430654577 554728127 271117449 499716889 816595051 979788410 406925536 525686384 877632704 483067126 231938010 738469248 591421293 987144296 967715061 789967492 198770163 913102340 904341541 929335700 361171675 214303391 304726824 520011135 996238344 473180503 368204167 423570733 907746872 345110841 677613531 344512714 918010644 748787605 350061253 832714882 929820940 271951538 383390516 295089605 322530195 981151352 406169796 756069937 258244946 125031658 767412342 507723245 400402867 573826658 591506242 265681727 677029915 156361465 771870488 309623530 246834989 185800472 517363919 262444946 123472733 481925583 424814992 865373933 101298663 973671584 520846919 431790099 148174667 655798716 509755230 739512751 893178333 551770361 820951709 967056495 843673036 152871721 531340644 125393051 737155581 544096890 219745059 714767898 443813671 759647062 460614277 121338210 340416158 538728653 358253764 636181378 124394487 330076331 924741762 127728992 159831610 429090552 749941522 512915248 632998038 705227543 487023643 237864769 611577856 205343667 232742617 233810103 772829060 422965598 702851256 197769581 954476848 351391365 100555889 108205159 653359594 918047399 795512662 431047840 407405232 643134104 862856361 940738433 138401230 115340603 213770379 945037514 987453956 566063884 278678769 279669480 338909799 793805132 724610940 478321165 651468743 398029852 117039086 730018746 997343244 178302630 709967204 658592070 997232745 222239264 204043297 775575244 439693848 868093955 228079757 326629299 806571891 333146975 397204233 562007490 760522375 640561958 197606144 751941379 509252222 142162179 544639054 966567732 583832294 667092029 321274929 765708190 740411604 896677570 467266994 448797674 188329240 297866922 911455189 782978166 140048406 913237360 305601768 676703753 455827713 546228430 213903309 426608578 527951979 454228546 738613092 425554442 406481148 441106736 296641543 491999793 765888629 223543039 842018524 390374309 247554647 608283948 551581958 813537022 639934426 243723660 958723496 125755605 368295003 379271214 140771705 839970205 838481141 630851678 583150489 850708274 389011011 847146311 128316011 231219790 429291982 842830796 998648624 639956389 519105247 798632129 406315280 378833791 331514200 938614019 110812033 367542451 705704724 683748129 456177497 560627654 655301710 969439378 460288574 268493208 504468894 844151141 883533793 481709995 567149174 876429299 771603827 494391567 216947982 874927051 844335220 273644001 907946913 753126745 747670709 893738917 881169772 121357063 280077353 414883281 895447378 819603834 929379322 551909681 679088293 986954848 737214399 495340174 129656261 354073982 118847238 752881744 348120940 765744081 998202966 354520860 282871546 701677872 325603385 647721203 137045774 828442543 456121493 326876931 750144727 825025217 176581981 592577011 172207023 616742878 881584029 383573527 808704003 487247292 271430855 538563778 713404263 523926046 759415147 812909211 689466189 164538285 736974672 898681649 987178386 813065192 316441314 845443074 177922418 923032275 620108585 480708778 220252632 929279979 999081336 434011226 853660180 650059789 836497606 784527236 744119631 141119061 554144178 226984791 109445774 364438441 637375779 858199971 661911442 156063773 971866208 881139449 746731259 972356929 771630833 180991364 806503508 154048946 428117587 126266662 109843361 486473307 756943196 351447813 347716778 380784221 472599504 501208590 959226606 379315816 102395198 820435963 800498868 884807026 591842532 187619682 656036122 793866269 824504524 220046017 768220260 999494383 349037174 574854716 349534664 206275774 457588873 722067116 649748861 136156684 733614395 340777416 505473642 919024673 344806193 677445951 711919832 799810814 592715689 725227538 919706712 216106946 128331617 842418061 614877127 325576003 926461825 859706689 971416945 707099705 810188372 936487718 455194797 229115202 468760646 882304068 715648189 500759843 275207249 400116712 530034237 200032460 676883187 546035167 895822655 177747315 926774853 557608168 256367552 535534111 217135012 153821593 543193786 225005212 170759161 569778073 515428350 798696123 129251192 646891376 878120702 699960799 484554915 562917500 340695274 131918124 303229052 353982763 995427582 322710927 318326801 295376052 143054213 994137002 646598642 400822355 915040068 440771834 394064664 669558245 883756811 901926530 864255136 512917644 940427647 241993355 472835541 806516672 505975024 545334159 275716637 579790865 331002351 258970375 584840426 253703886 728381437 975258930 864822058 816726078 407418578 569943213 813993962 294973291 645081690 577988731 946820291 575900334 893025734 630303553 714635493 662528790 921655607 853927318 768345581 439096076 626808451 744336311 586914353 628454401 504945329 563955685 193132688 519051464 282896581 539475720 227239594 673423216 332794234 316089050 821917532 349317852 958191457 311042795 948571641 719323395 966901159 195333504 577567181 294785875 697039187 374184913 562875346 575262433 633325064 663736291 254760361 643998939 488463578 193307473 175954029 534829940 947352374 286361533 976108852 719023248 337131176 197478348 958733710 855484128 242617976 193185886 394319806 898163689 342690667 885045859 917631262 921510708 624386175 723882567 137299769 183542908 456883491 769987942 793949806 502912584 435350550 121796743 166123602 845186066 782637424 379622871 968959080 124255369 920719486 712689772 776363790 598243756 240625996 695679754 832754875 468791152 701947526 357341129 655497041 803575987 997020160 714133801 696631780 459426785 311476070 734110395 528308727 687121713 627094466 644298453 765698570 284676317 210043064 272001782 736339621 332544090 694141759 805702860 551497900 310636583 861577841 385550808 262859910 945375096 716724394 584533195 840434459 159369700 484064776 481066884 828036920 489180535 584797951 615377679 796670160 145928929 351840819 334408839 853338399 523457139 824844976 430704078 590952687 764559352 893600341 785136023 587685356 434443581 132991001 350134076 540171781 248729401 137511864 147161052 468938204 424190360 921062379 963344464 810704627 143717724 358333944 991439019 358342787 634698478 638772966 297886313 913826997 457032715 624054853 842982241 269445966 404014778 651046759 549658202 368293960 156500415 155557464 838273228 502542256 494141424 713737934 280476780 454104951 488464926 477029081 701034919 734600183 845384845 352268356 495028109 810147980 893823732 295376857 895350305 474105860 768806227 326599885 540048008 441479352 230917709 600818823 326865804 406335132 401507412 982610940 936068844 277011538 484179668 826860244 123895854 203012901 343348345 610846451 984077236 604960598 781854717 374867707 213309797 548637440 215376941 356302640 757115359 676049847 186049787 112634859 786741334 715186897 234983361 684668753 494465883 854947394 360572983 315220816 401361930 858997050 618866914 342674388 890069400 136954497 860514960 423130306 966899346 602871458 452265190 221349758 359541664 324616436 464857371 353964109 517077416 454105243 672441495 123638461 432549354 150373831 351547310 207085318 599394884 293466085 778514105 385082385 729521735 993162084 700213222 282204960 448002545 798256784 432146552 307232124 744941267 946127794 283278939 420033701 334814734 162044188 426035800 693535054 411870769 750874257 506546222 966930245 249386658 565216484 161499978 114081714 493544347 333294332 661571595 530650387 576183355 398112275 652668955 808267755 296327897 760787630 535038881 224022587 842002986 198293804 690514867 592462651 529152553 442823033 565371291 855966269 640540541 526116798 793941897 416666625 578813252 735830377 941751902 876672057 638099119 411973881 317549071 612864565 817616541 390107184 324915497 517853371 373392783 649197606 135176175 187821702 401313077 982347951 410914489 369291819 335721595 594106841 311862747 882217429 746624308 255657524 781211824 506696005 349434027 657552773 626713025 560561682 795399819 122622845 711267680 258969981 278050526 915976534 744657817 737290597 357924552 780324877 241304191 170566671 173784757 285590413 890588952 752100352 662659904 563638561 976210737 740842075 776774431 739679517 642885040 588281309 262829716 365355649 972952233 677157293 537053481 600014862 107968283 199816169 427285629 608058621 795317761 334250157 748551441 542839341 675435220 679254813 119665324 125428583 187660372 377082636 325046326 116569010 742188734 578027169 884891617 656744177 483564720 422576560 317860958 838657650 481430559 172003572 994399511 826770366 301175661 843142495 886632957 928611182 619329168 663795425 937562492 946525168 409571306 898881282 744559071 266731594 453857553 177762885 786322766 495700867 245132914 700414309 557058896 529917490 611467045 685763984 771495138 338450094 415099382 377585084 793414530 878077570 520283009 569678800 934280274 279988089 513124984 816031288 964577705 138177689 577358575 873303095 250369629 183524450 230823504 194552467 578675581 507249371 225757929 301740266 385549354 793524725 912105005 481819265 508004530 992763524 798569714 977770323 997130075 859812259 102735197 574672823 677476976 526192144 800532974 830478597 913898117 140153090 992953479 395650730 520316593 389694135 345039745 795255092 116181347 690606508 486075528 238744371 805762676 135141009 332544752 348962157 677431302 116155809 701752785 469810921 218749497 162706019 583418368 755982944 603673764 867584835 364300751 757249113 100682814 115700460 280971276 194914069 996119884 110473737 711024832 319879044 532327526 112561591 237316455 118030798 225340614 349679428 661914921 381763443 240764264 661031124 452367780 698217483 646736259 593278217 613966088 376387144 523649550 565490236 448794028 797306698 887456346 483582264 181581911 120255358 462767399 235814907 897219910 575828361 104089219 753495452 834251543 367582862 700956298 121825730 575211317 303868829 659451172 168915151 650956201 411223788 981841147 962102636 941608123 347774295 639648830 768804468 624044221 336686703 783715240 177419079 959326908 471143456 379104610 130790141 693793052 615485348 111944489 729109081 229224033 554989111 760684716 486254306 100109577 420187779 348421405 164368326 251032237 696792167 361096631 575644965 981379508 196638308 471586694 985569512 171361003 457827723 719165302 319403524 908397111 124130481 683275631 598721744 636907951 320741407 836536023 627099163 814784821 617245187 107813544 426878396 144082227 603339086 866580001 622079959 692950371 827385795 520872593 489212134 794180161 197036121 922462393 805477742 324634073 414480299 215101398 902046868 116974650 307194864 462670559 173530591 394558801 198388499 282448729 238342700 611860063 643117344 155824536 508661487 888908731 397127958 608901344 351469597 792254835 103101586 178483651 567705479 876551256 892766340 139171638 724258043 132802708 348870067 824032771 160692710 989675844 317588731 289257445 462204805 246860989 737763578 750705038 706271483 722566456 717112428 556444547 740015095 969533797 503356725 778189683 952717872 132662230 740350143 125853276 858674925 513918071 438937890 328286682 359633307 860289986 781786236 249798096 428836805 930131909 673561167 916179349 596702670 789960385 335415697 868183658 962105285 849264357 738629111 689732614 663854025 158819679 355186266 328353585 934475810 763971440 211781444 741850291 766828138 507929612 817871256 383362519 651606941 397188897 267824209 396995978 394195848 966996184 253897661 333744389 615014339 295461349 456747223 323078036 878445908 923408109 297688435 484858006 445976069 582290417 943247669 697776215 902306904 715296488 652513535 329683803 609730171 816830635 570447002 231375581 151233740 212573767 925615621 257913796 748705136 281447258 470574209 951357595 396872199 556863345 673971431 844701108 595836974 556439097 380297333 222296576 603702390 363734996 794323040 354591698 312634995 647970103 771033171 567896263 932029843 190953859 525103897 675788457 300496824 151905531 915108737 340330545 929973926 869878282 770487572 618002339 548386733 417417697 788066397 337194795 332567309 594574055 639042849 333399634 237281905 523547920 565870260 986318246 495917202 560620714 509223959 259928507 468286226 176414432 270531441 972055766 963486011 544724107 127609083 131884665 158023548 758472052 856936201 878364514 277947278 183084507 220484368 444778664 374167942 325546612 794798832 331855705 387748644 375490182 656784219 257081084 137524414 650808260 988922447 637315214 621281475 370951609 868131445 215593082 466272126 597500763 791285274 112953951 857253797 688167735 105120064 165972730 208609641 312989102 983868329 833130301 702427020 414042008 334902715 383912341 910697902 363871099 239422988 157754249 876418870 655171449 408682218 479501114 938177759 800607854 947878821 386770893 660698750 822934142 608475732 290996924 152082286 896033912 210009128 142640085 211083957 664228756 939779131 205892353 224147975 213350655 163546029 202508887 809658004 246985323 988462402 305816835 583283169 550718354 461314654 151495320 144761027 753533433 615690475 267955762 377571125 940082561 730047291 394083445 816728432 974502272 670662133 880568808 693865709 323666649 655059490 198423251 792198243 365499978 606506708 751630887 748073440 731608942 213268553 521327037 537147985 654463967 544529011 335381591 628845853 612793078 619462986 574661194 134848710 619944501 132052085 627412150 444252044 650514131 230435028 163925602 577011269 798664791 950826243 830567230 534750735 135509379 211375655 863371855 582084017 450584970 844328086 162548365 458594098 280423631 322330682 200892878 975696471 478872346 307577082 575343892 856896658 131139067 318380590 143401272 833105710 342865410 925700915 986643182 826434189 787656345 650613734 253794867 380978557 700924809 660021423 863667560 956307994 271028649 600758778 502250845 302557621 388253126 185833623 884434490 698846617 527003257 111087956 918483708 643150218 739090324 381242632 952743093 563032875 709806348 121822392 226874883 575103587 838208424 473608641 363380219 284804896 825258674 125223650 322426647 697550028 583670528 323792908 243381134 559963517 282869605 374746394 360703486 361761554 313059723 799412295 775515424 754122479 520018957 574250424 728686171 673481319 191156065 644846791 388412579 207010407 753910373 617100656 461670836 751381966 762430231 372409746 260962095 145787451 363064483 418183807 793153140 637209491 244943786 482452687 584270517 475828133 377520273 215471186 390396935 244173146 989981225 101612916 938094595 762618813 172900757 590723843 676046763 841318676 447627046 178497558 734471651 442542446 627884337 458273872 425059251 607939631 326880334 500797783 639623565 273245537 632728052 491458554 776049864 546003401 976203069 539977121 270625320 243661678 880887490 664213370 684258695 615891176 214603477 807963207 526806340 605861371 493128995 961045005 445570606 568878724 497165500 961323668 972533834 982551559 442877566 509882051 762231043 421886001 169008281 713949179 129068163 350056087 758140710 795786204 524260979 601692656 183977397 213406353 358989728 952724374 298742623 311745144 327135141 577037905 503369455 532887919 349234732 604706636 729852751 397917818 308744184 921403731 726277114 183002738 950849359 749924924 686990272 333573255 614560151 788735460 295051568 637595654 379975228 502141671 427598794 660402124 132085343 353117597 863945699 422452492 396389434 908091805 306357985 665664844 305515029 361286750 371258939 945211207 170237582 747371441 475640043 231451534 207738553 172628281 931862915 870290033 926228473 531875280 578645541 348516409 821275212 382134974 225630437 403956876 488217566 114967535 644513264 653920529 885166059 342715908 399328511 531211281 866673635 716526904 702717277 255490126 337231458 506017464 941440857 650222107 705254361 811801181 751702903 733723236 896371933 939753019 770122361 377590050 797353753 876439433 413124776 318377236 967880055 529191652 788036638 519124812 404904244 227682509 980926723 790358260 226002588 818346390 512558321 842354102 744796656 338899370 226518109 101893475 526551817 668565961 593482946 202537564 490127476 981677790 355014011 856312652 633652101 116714027 709815790 710453427 394375486 331391672 457725880 245856960 361836107 262789971 680479156 722957369 841570492 146961020 930124390 456267507 413379999 193036672 376768556 401233003 798968642 659756959 645683464 634615322 658955565 128155134 628812785 814157177 450349720 110629009 986547954 426148294 700678513 214638172 867549280 666126216 578896385 456189808 602982002 772488175 624797370 738805017 760443331 606861890 618203965 665104989 434638177 195049372 345718046 109511756 206245678 654117502 300369024 162630259 756265242 114027490 308175279 715663418 265047557 126615653 806563399 247575558 677441304 228309221 836824047 384221339 179688038 495729062 758381102 328314652 193497576 975451739 167943422 714408986 214795025 973339395 990189504 279744275 713245228 846906522 106128524 685569839 168367076 163091269 455144071 172062756 818075825 541635921 428319409 778425287 918930892 481430925 855075750 897432210 431228936 168221605 292314971 315473211 593449947 432086047 369041975 836664611 656658554 201498541 552716094 359802821 422150466 436292265 161034378 959610635 569190559 179653681 507796547 753097906 400696604 261911246 707885086 185899414 958319558 766196596 770529851 235512756 401388859 698115028 582220935 603017317 920910917 868455552 938423429 862850031 811654558 571685291 333309355 476250357 555976956 183170999 102683482 255550483 998919941 729415677 694941150 856450941 215284239 616648654 760470783 218895080 138092651 445014550 967867017 518896141 712561795 689158117 923951891 661940493 132663917 150381158 677072564 124781664 790478265 999800201 654550125 241868022 178057696 591239825 876044949 896222985 698844544 371522260 738287353 133403770 137716652 562313972 115260516 343359406 471232889 899378455 130117134 131606287 337590914 262536195 801635512 435734599 352044025 604105229 938250213 576521244 643606178 684865123 450865824 751811175 567903690 529312847 387264009 674017587 429034527 485456883 414586082 420557950 347614855 575223052 595641226 489084120 175432612 580044895 910030617 839788082 335655254 447587433 992212207 686360073 732954199 520484484 911573464 334588563 890150194 575835307 243999112 696600925 808560494 910152322 182982740 684210782 346885916 931989445 495122432 734152711 230066963 111516832 493133662 668165168 409603723 917341368 846207087 416550192 551052092 513477036 385484896 606486053 403195144 985808722 889495631 561057122 265413623 714163666 826586712 203777756 432984007 391069847 717461027 785203499 869964546 192990682 426478739 403019750 551370071 214753245 671656145 993825762 817011922 508989825 468167987 527829681 352755128 966662087 697740824 685900108 433016954 277516337 311503681 775193251 215580439 751541253 442624173 131899227 775825069 731480675 404254732 980520056 854436449 889858891 674987482 449957368 812700156 781066704 601739971 606951766 641352480 335535699 581326601 548950330 841074753 350173153 199820528 219409147 695991115 860717596 561264169 536551640 596067878 914152639 989117103 111005715 147714058 491934354 980006004 804994497 817557741 978957400 442472904 966874774 912637186 231740048 847513637 603060187 419713343 100321457 202736107 949636823 137865622 391587239 928154728 938321890 439547515 747187980 779552261 676184910 855622285 925938929 889993622 990400848 347783962 255008327 384688694 527697507 546389353 689817410 770165030 652044585 486634091 150157856 586286509 696282087 827776602 808591473 748593127 185341370 743234301 652213686 400016845 154329129 198137784 209088158 550690330 356908734 536591102 832540372 287776374 446670546 449171820 591724038 491678813 108193911 731413217 912056949 975286637 829605741 402009180 128187354 906630186 305141552 485017533 844766394 142609479 646374966 979152608 254605368 193083927 391025371 701484839 389702414 508981227 109684762 389802031 960929422 975093843 375952036 746547439 824376968 503683975 259586623 819698912 549747536 367082547 356942497 667959186 792122963 762010280 812580602 871754282 568189438 837922085 365290706 988359005 101337014 742068793 336917416 263964897 561795987 411680126 495624343 551100917 112132362 525824917 782091888 860296920 788897471 500766547 926409930 743699640 644652659 654003930 468308603 249338810 197122150 799533306 905831029 589933928 561987913 518016415 800011946 447095374 222943900 531962069 386792633 477087578 420201725 673127823 461644175 583570115 817514359 352920272 646575525 307424248 521911445 484918377 981279599 521867120 523356399 131023298 575243092 223321683 149085238 478637253 638250622 631675143 306500118 284442931 332790655 781166445 342409954 229010194 732987665 517672088 381547352 863419513 860951905 851452256 813318842 193953048 286925189 677838798 645191901 493889000 760588248 191411878 404226004 703716491 977653409 674844027 512044858 439694977 829438553 572264296 608891561 460012356 445292781 855056279 770060369 489389122 390936506 919518010 611912297 897080088 767161682 756181375 625261463 820283898 606594883 889776975 540754936 231236383 816179245 877661480 140231125 408099482 264580976 754134781 324052031 702906931 825641572 283783519 613392128 180467819 719983007 940419444 248906248 541047369 172781455 326497292 915730019 768185580 149644382 647613085 785355207 748991697 141955764 198180298 268890653 815748922 219752016 561501551 850440286 459111113 139314425 674606657 119711596 965303909 481061536 169430704 362854217 648565268 598883220 111538226 757888959 671338511 808641142 442705023 999471000 777767573 383590483 872472142 505051449 843373539 628037244 336134379 699871808 735815735 883662775 349859796 302960059 727259017 456388432 274645027 373940270 212722956 329715676 521475785 501718290 710643917 502813218 959228487 479121030 428211515 774039245 212871095 680939079 748521664 305301181 352661046 808940863 719284245 781543110 660061113 551681996 425773512 298832092 297569949 841112147 958598157 663380514 834896700 564563240 749104016 158025747 675649861 479407581 436124022 832843867 827573684 954975486 911002637 684410785 821779275 357130030 507237637 621789120 512718965 977994772 835779354 289779278 691991223 303360768 497641906 812843709 311738054 704190335 451610377 393209594 608044027 851687512 783911982 232688910 569653557 304676251 202471983 307030924 380123121 939058723 114494799 963949591 689809183 390618233 212400265 762649840 410161927 927947514 462324742 736761893 886986208 964949608 699907986 133094697 443563749 394665323 189146224 559696820 878047474 102961105 262529696 744141534 619162764 943419436 109861166 130807878 474729637 200192242 473195659 671543197 331692772 344896416 635512236 726142243 544250542 464154181 915439297 940375102 769000260 109608306 352242486 974276276 159037770 541061249 715761355 561159902 709930916 252421618 441441080 654181984 341123790 309011908 293875608 424964873 415423423 344565787 556773650 394662077 826998056 170736890 372259302 894511985 451300320 615344702 423195737 860054927 499504286 747830435 763345242 184778090 197421435 655279805 821796245 227566858 433995887 371376373 842317240 447716210 285242499 755045203 247279567 444708378 899434703 612150234 688833042 390054181 754776474 653157171 363473535 659902991 477669396 794255809 433256034 381263171 847586738 608693148 653531974 966596841 127429229 312115160 841749680 299957424 118446629 677617412 808681200 158665779 944457139 379123498 442334029 958619284 236650718 369230628 477736833 585452341 796491419 348522486 968852970 126914427 304379419 121829660 651608041 675180670 588028139 140130662 973997748 124968538 273595502 983512360 661533323 440694331 127537292 813888797 350529783 453134567 808899167 458047310 311751661 158629445 147559345 129340462 238635875 330125551 625447652 579556690 176560808 728801279 133832050 581229683 668751179 506569426 406671839 313062556 332389357 535739749 218125762 420344941 187038382 567469114 129371297 499754582 878617528 892840725 928122337 736838263 446607553 149591805 981991952 571570794 844793553 438884763 414889953 811174404 740004593 273220800 475650260 475981537 442232232 643884377 884284315 925663702 840084293 998047987 482178450 289071262 247282587 546915211 719079528 711808420 974540898 472793493 752788947 297021846 305917076 554220515 111978708 854135232 702969413 669302818 217684489 592216893 664460001 711936103 675296188 994721676 855202289 766977292 927711731 507508388 290871953 826392824 390953870 197549046 386597943 871100298 553421116 702346066 249135165 308504382 855415144 755194996 108532238 713593629 553550924 102600642 897025297 470341137 138010308 887758607 785591339 561652084 260717856 556528981 639967671 342854118 866809962 919186257 395601075 640473326 429615030 705358496 853094295 964882073 310755332 180541616 987007397 758356139 835655640 581238533 245996140 502323171 783469990 246245174 686726867 437252760 166032807 967467548 287868095 992162099 391386442 105298697 396911435 452595438 477714648 288798831 348081589 833059198 901168262 301670779 325637221 447499425 563419850 114505180 124471261 679585763 448280168 855619536 392839076 105713323 390952595 641833688 342333337 490850467 214069506 995445301 448213586 848491044 365428149 590247747 609718357 893787223 440828745 918815131 316799867 873505371 218782428 285132958 432297171 818307223 895956614 923334082 311184137 198877043 391788010 854076604 117396302 966209466 993092443 197021438 283408293 296512435 269809591 558787680 554136281 288960022 563766023 256936687 388568507 373894103 734167533 267215723 704695794 179517638 377875890 733592123 783161759 214451682 875439410 399151234 380071890 359883409 770151452 435527213 119230546 686388767 351956476 706250446 311620570 357352611 567591775 721795569 131840502 744941461 523346415 365233184 888915126 328438949 567116003 123872702 613148516 365852047 923053040 450657012 753906906 219297173 980028949 569881755 854240520 728232650 348353669 539150500 393175788 856483632 352203107 819961721 821685318 242638256 286815229 801093993 270438836 738661516 940625444 790743345 880628756 122211368 961916779 202660510 427054524 713795758 479869979 508480712 514597601 339546789 788584128 212863951 762721143 675968230 932540285 335997058 610177302 792196563 532433231 686099788 160716163 838539621 597709860 222763712 828006418 440919969 241158478 596119631 400465441 327727120 915685069 664203722 808004361 616112197 749550313 639374450 804190233 914320078 133512316 324599226 782325836 611016966 601764158 538623335 212173047 545400498 222957729 847023427 413734933 303732005 527204633 437999663 206602726 153357345 540517116 304926124 271529927 130641784 570254014 792146910 750443889 298025243 579021441 594034405 723275767 891414016 864044217 842185100 876262304 152087795 588052000 981734910 400218602 455101814 543163750 350053552 139555111 817773229 112558952 628933688 123125354 468455493 486225149 273997548 145473319 995873733 100675439 114346264 680503929 598135625 690450639 433437761 151618197 646923177 720415149 991085649 965396328 646668495 588750223 521929610 866967501 860648552 741195962 525714036 537087807 365538281 207143494 341731601 427426565 204983501 915725453 521752490 125569153 561575853 869723889 764720669 313957867 232953658 845255750 441759682 483023837 950029480 324877840 118076963 959181851 976603751 804875552 459022531 290892797 747445475 634682768 567179533 269665463 433118610 722648725 298236770 979260664 100938127 435976419 476437041 177272162 483277569 871027532 547616693 685424024 844798225 858336159 766937023 212985877 551522975 378454708 786919275 269902225 672578124 283523241 435337175 128326993 279924571 186854174 191967574 461641436 975069970 257020611 796374672 925476279 614994248 882706002 796556394 781118640 928961189 109000010 657508810 521718292 251304262 179134050 716317437 447099161 795868164 634837747 973046934 391001496 925227522 426470396 272643472 927145382 459226457 731440794 418321916 345179082 402691155 443583377 951061860 958309458 266371343 632746354 478710494 671683575 407255014 494718394 100459647 113610088 911074241 225209031 960267042 129590570 721216696 572694852 594463593 709172979 360776661 243622561 446831416 537423820 591936675 280689303 636230944 264697242 259802748 642838958 434412203 201743011 351271017 635409841 969418550 881327899 877967331 337989452 593682367 826766160 704166736 595636099 279994857 622476933 261472995 303199195 699265110 429397931 258451568 552725989 725018904 881187409 152659109 856889888 171840660 794955135 256457050 457747859 682667388 663287843 929836824 721616835 175139348 320979322 414156239 885253350 913136990 287639871 903127863 651932345 949595299 450069096 467291584 803920137 104599630 502756563 147288489 748312455 441581458 710882033 180241254 502306619 930591322 432153178 831541542 844636345 428130299 238669336 179725484 775293365 345395092 805455442 210775286 686851154 924123075 471285779 159063252 707541462 837131698 478055218 739190439 694340691 473753310 840830392 584624471 530295068 549725916 247391998 971569555 606837407 479830592 672938662 270578973 734931021 950723298 683021967 373769582 408646036 355021789 482938063 801581510 336859659 817011210 951488155 455616068 750693055 990758786 623393840 833261506 125651773 376315283 476638110 606702144 412370521 860439195 585032148 706619644 567365327 854016594 684404480 904511187 250154069 391951843 690242952 646910604 811336832 427427976 274596283 801355542 729597153 914741402 760868515 310655234 897535209 115895749 878233306 702511542 975560180 984767793 404762500 963705105 773305361 946372418 671564764 165682205 603726583 830081918 642360980 876610727 487924839 252995439 681788642 635791870 808454048 722805877 417777763 580581452 813469498 631588334 973897188 762298507 292189267 696545333 193999771 557046959 892231790 951035744 265830715 945070712 563678266 868436023 356824170 781045120 192703930 453970523 609259771 325901152 117841381 319875726 887300216 362253495 845841332 384015269 278073011 523277759 305661289 531520357 748219217 327850219 975582919 989580776 947932604 269969422 529872251 804419184 745850837 855919496 728140133 712991065 352069067 848502191 200278178 453672762 915367785 279050672 666468918 856069514 554182089 252629065 503094003 431679572 449593391 990152905 513147720 615641428 131783317 663911444 912080530 917277770 252797095 717761827 775302871 443800165 594502354 300108695 191859259 981782791 199304693 355609641 288938141 112451975 390026008 213780613 159859641 557380716 172091152 609528049 535560074 923590919 580683177 357133300 403682684 222286822 918483465 835043346 995198818 963391583 879921055 228897398 957285855 514709975 737577313 233937370 201159170 431611353 239927456 365889132 306085121 960407932 272172866 691619639 472191505 275411932 548544621 591411928 919119967 921722074 987081681 847600224 768444373 765848065 849891965 591635084 678127280 793964038 544017706 321941226 958523031 568442724 685847403 591951389 856779872 946473600 948644465 135020876 699080953 143496536 167200130 497060903 233399392 249068479 410880160 902777550 598289852 310020030 988901296 763075620 338780469 571067957 851571285 564117457 746063826 528341097 446041645 749423766 461361761 476556623 686653356 740838170 687066467 187381695 885418178 265212159 366767966 502720735 745860105 769043192 124004987 586182418 869898618 639451783 171235303 133234079 738226328 434075898 777594730 936677993 739292926 971690691 965723547 216340633 317892915 459914838 175949375 145482051 770830448 157158390 376203126 779245834 364682611 404662286 330524859 965430587 237899611 305081814 704160744 543652010 123492821 699627685 606152385 403180920 532665128 809674809 450442169 112944326 464823962 228771570 725234184 922695510 560613646 969630787 896168162 332165859 806327297 835944690 421003181 725193107 348825947 132342594 897722093 366895485 822866056 172135432 728490069 869634915 903923570 453896440 213791385 784092069 287107865 424283775 841041856 252188753 464164098 937644710 306380403 211841628 941166633 720432806 363928595 648441917 575675078 970223059 762681361 304608114 112273589 616642970 550842327 275642391 372879160 782937074 758953064 976131109 462758671 837554746 674229533 441985613 322769437 169826972 696626776 100626452 197880870 376928994 738667439 288120967 685347361 236832578 478508438 733973657 988892845 824213374 921309451 747383646 370184594 802099073 785386978 718737762 146046896 364252991 773612969 956192666 633212495 652867715 819571294 683522600 101627247 984572398 651275867 173218281 275947440 924735335 420655223 646822221 808677429 671794947 234468313 346269469 516292302 533962370 683755935 373651938 788387909 902910295 852149779 738586329 274670338 517300644 238397430 990165087 279108040 144454340 687782931 413376820 567517158 375517951 848618014 922865932 365646076 173698931 432085875 971482195 395125679 186403241 447994519 274359898 218182315 158277312 305555770 747845092 457056640 192347174 764957893 524959072 390365955 906009567 502732153 860516981 926400378 583991060 161486986 509169816 554490539 890287450 576349207 967147577 103936669 904865005 926227859 928130202 632890506 206974157 833181599 837342109 195068304 855170111 669086462 257870618 533667140 247365993 336316579 940873584 580375014 365269360 378976582 889229641 950390201 989524300 609018649 257802839 268684041 456577443 552512822 365999885 200833288 639864458 708231413 304590466 317022705 403474966 127080225 718963703 930362789 159185479 412706257 459889010 785869022 325958971 434765579 736647795 602611047 684347761 383487146 682852338 958633864 692152457 394359676 138159984 755104199 491095120 665702157 756120940 482145922 290930481 667820324 814028729 408304798 424731094 378222559 710364846 341625429 492666808 384143220 734778111 656882236 720506598 143794770 594119601 698102050 325363269 513338995 981746789 561949633 534149012 856128779 184400892 658469384 481034478 882915499 294025221 639752621 639413491 376327442 692771427 884476118 993927072 201145405 552791527 391859902 141703431 285497151 126290979 568007932 344714450 283769826 526390327 242127581 316824693 936090689 432609740 865962433 358125755 670748673 298914811 648739095 611399056 754712572 170961096 775529624 181854455 311989048 257587495 197734986 514196559 509899361 455889288 246157207 662730524 584746041 623716433 200114765 845059919 581349185 586097527 616577967 357071247 109660419 422303771 950122539 351276055 834352318 717773487 420319388 917859191 885765601 951499275 689738864 106860268 533618862 680704347 175192546 685226448 905392106 129821852 345798507 733855621 373889269 947591596 309619093 918409358 325288402 968723506 248756735 338159571 628672480 150571318 270232198 467080571 877117538 762989581 359611558 630709054 946581748 947285605 502025443 128143122 167758675 383957423 676397908 451617275 863107467 848740266 997858112 963528971 201176523 764539140 358405964 929466027 224346298 480549883 461949796 162693312 114694402 456977916 855785458 981181023 998545866 659681163 503721493 404068615 233193914 412911167 340004156 564203575 943357210 171968714 970893630 517566739 937386160 260589046 902486259 529135210 620156660 682515425 638824937 361138110 840105564 672735559 322835699 170042296 295466126 228694294 551672610 551127579 636557817 687680196 155518123 404772907 349118113 675614337 674907786 289306254 908423061 254094860 955434317 552780502 524367043 758953277 267432350 657694298 492036629 955396538 287551671 270470878 923645845 186732583 427593110 977080679 171099252 970532264 211532967 945370883 448484015 291311508 635943952 774964924 931248559 942332385 351306392 524405010 536088688 495642297 899872635 180790940 437447536 685334528 233671257 323499519 954550408 265603756 183085428 818004572 714061659 971036174 247125085 419035783 665905097 479459967 107391451 112905314 807131778 978142802 561647241 482045585 361708152 752988583 494576002 487501016 550000859 508961160 692311830 776150337 554462366 844004359 863578685 216224756 988340502 583664606 355906434 562606237 579478436 518126133 246781118 400724934 536943003 626300488 366154968 479310353 121908567 295295665 101660393 882123192 881452826 773571648 212880836 782862681 342936541 306623487 233043243 494829411 353766603 368033559 816506818 256549209 849756218 661189257 603841091 172867002 864583053 215908330 218253917 155066966 241713505 751368176 599379138 948475574 839252877 169687442 270737309 821519242 819982623 996516254 947835972 239904521 139162828 720674844 144010029 652894317 416081644 322708128 399259616 231400894 345171827 767456089 582183037 353386058 943453535 897720183 363076369 908234056 194473505 332724705 893619329 584388245 324485295 677012128 958985781 991923511 287137494 842068661 689206347 569127318 363442358 593617507 894477846 438961325 448067865 458536377 164192117 619955361 841275019 853311112 585382498 373286990 511561367 418206461 458148123 945641247 217522754 271239239 628182004 586202897 859470834 732484670 399435488 242681594 285525860 300489636 403465512 539574172 135211422 206559276 403661671 784110372 490785424 871588589 494342731 644173242 334069391 925599177 290197098 715310364 941027390 228525164 203879298 956001820 974054330 168130145 157988664 583491885 935188073 349500829 251163828 565006202 840964599 701061336 308755374 777356814 811160510 450015832 971057101 469616718 401714538 110360449 556425391 809461498 659721892 637240316 752665235 352415621 964477907 423151721 381152380 900697638 655634304 326700837 970403164 593901387 601872391 894917080 777562079 536312553 784360972 411286263 683256688 858636886 620700325 915241594 895102416 217908879 685820730 142728273 355705153 157322268 725492419 643345565 737247088 556085811 412849686 157822965 157084262 179267262 824490083 838633304 676992689 144030945 479052226 219741112 982137762 210448541 158640748 852733830 909855023 752894678 821673020 565828664 773043305 526323091 650811616 668144454 283098889 391966095 634168289 436229556 598337056 431211364 345082939 229372760 180798629 936344493 741104722 684770385 184038165 977313989 836180286 993196792 585909546 108816936 659571133 490630332 149897005 883601530 377657309 367478492 382125860 109097852 156241129 320761133 506810206 224693043 698060011 600173889 252228815 446218562 738180734 779179232 453101328 552403306 389822554 349193284 953152893 285452225 202141104 502732609 817423175 969298456 264070886 927506739 745309697 910075400 240373919 226777707 210595735 693078441 708919874 737769071 296276015 648664616 394426589 850666187 185333198 852681896 302599123 136880263 706870959 533472627 572762879 788072019 867852912 392117011 769724550 617392124 836835478 572135886 702809038 894407379 320962146 214572105 260013562 277120713 297996615 200303377 152521261 766639431 126775508 428615441 371886810 814274535 923829417 597921004 231387545 707762767 315009272 106728439 433859304 730704834 573826456 922688217 637581036 464080665 906200212 476894450 437968462 527804880 839435115 304584461 921365179 565234930 569583436 309671051 744798620 366872925 296145116 227673618 407739466 808509705 623512584 868153707 485127916 618079507 958270624 926749595 261712140 167947158 122625556 144332883 424497639 651545952 787100545 458115223 528252861 507440801 352328206 658314285 390816317 319666749 948010231 753451342 491153094 580588794 264052163 171767509 650281781 739337163 301166502 942578416 165892391 136285797 845304367 384994589 210122739 980956213 959625124 993558369 619818185 268921735 532119327 338904165 755752633 810750406 330796626 877494895 785657393 701343031 114915499 254008319 559572065 650471132 598540758 223301517 373589603 763405690 708092359 839273115 618469318 119740399 655486075 691882738 400228066 687925336 285190164 113543445 531310594 152838031 127754019 296914572 699925478 308663306 468178479 965349927 437137474 854334656 438170394 738245454 368327459 749203139 578454370 751877863 641896632 638058136 521471841 616800755 441019508 773638836 269138333 393695296 194797647 875070869 320014928 733155815 730724718 598587678 729670852 672388660 845632144 586659580 428704854 589868437 542476088 761043346 625967980 222726720 390968993 326134775 388880123 805018346 502109118 120947538 601309393 876623127 190259169 702550700 249847916 393620195 933877568 403133334 681069259 123010774 414398533 647171412 833107525 117755776 325015248 132759184 553326903 182750242 573978231 300885293 368033723 829308847 809638027 570366696 622025563 542437993 526301991 233486458 615351692 221627126 111843500 879392335 474071042 591681399 846383458 182453831 462201405 185501012 457438809 562866705 215752186 834559590 102789074 128569690 153891919 679071968 665859150 707191691 862912333 271777410 137911529 810846441 727194092 627516866 447665046 644205935 598114082 709582245 692436212 706167978 979072319 282779343 683846183 502190951 312132714 504915037 788988595 451355121 600779637 649300571 536702303 645627161 881946483 390600031 536901304 880024514 780893610 880308576 634591175 508279056 582733033 905745924 778525763 121914855 648503713 818897734 460022631 963764441 429854683 347566861 112516947 236467759 244857969 430343255 647988179 901179636 526487434 465866341 973617508 254226881 562804405 740969688 680944370 488440010 350726737 938955815 482625156 744339535 275584327 408585369 328194107 514646236 939828109 487497226 311035668 664670099 237030714 154550570 757027357 891459487 896076425 149593747 166933489 336924780 171042656 778959602 936245672 123368531 955463480 471472977 724668442 411683557 997841823 153151268 322301676 226383064 741944101 762566073 321712167 525549262 903514404 747857442 339715571 303634688 891888079 169953836 395587328 179587161 292478916 821050971 204912401 927826868 730088814 439866856 803612921 854883197 519423711 426680214 280704854 138987855 652897403 950502910 404594003 872584543 452143484 847970681 364500079 242569939 175261634 654323842 819165299 219033441 982675704 945951051 381476576 296023128 674552222 969759685 721318145 804154734 959499644 889177951 924690923 272185596 183272477 527309000 452063710 319341602 361751758 827875020 682625970 166816795 900941386 409603565 276839464 173346625 864813763 630788565 220988828 889391534 698079864 572384997 703645703 958505967 831568061 245220835 910854769 118698457 363829514 620330941 850002780 388485396 489845362 873783934 812128387 958962805 210378100 862086074 480964735 604354845 401642765 163536920 361501475 502141956 365662316 660752945 517026977 970720736 700982483 505400238 202451182 654423172 891627159 896078464 907321312 617834366 755168858 876650559 163208991 628419962 558974324 792153077 328452655 633309358 487199879 778314712 535502880 848626754 774204498 864088262 576531025 518899470 685751331 585893903 806743764 343710266 785411838 823117474 347078043 688007112 936282791 308253070 897577968 650644114 972097723 660258588 467607003 886323608 298857893 573134013 181869513 168731295 265863916 640350090 200341612 178420250 891463672 945340250 431516959 363285499 989909642 106995485 937332594 935772808 682666540 998429936 252355763 215829003 262480118 404383015 440638781 563279585 731909507 905209602 731485003 303301255 698742826 772056748 332510460 715902021 726976568 699630440 261200076 177800824 481076708 358309174 667829441 554187604 474360068 535200542 304161026 132153971 198567271 702190469 530528495 490797601 948718822 995015480 419279473 227094337 864285821 134011528 851443452 435513005 558255603 432599499 762410511 531166279 779215778 569294202 929798395 768863877 419015273 550521588 913396470 324377057 868657666 861349251 411973051 431320364 463632839 326137269 284293158 409399490 289445725 925463540 692544092 197349205 454171031 656273695 264830961 368852335 825067865 904659812 485689467 680087089 434669537 141754228 495564405 967148430 713717843 423238640 568512266 791421410 776090641 456881788 741340563 805214169 472114627 335240872 768999243 978138309 898740117 465021597 717988166 145221282 714275105 960215132 740736968 812986273 807937907 340617428 132082463 783643528 485435710 576719808 318434142 723907539 391496664 274184902 764278672 278710260 501168940 212564046 505379983 909917756 897728328 873420181 362060732 754661321 957434636 529213941 987945686 869248166 639128131 574896216 202056947 531514565 440071771 630019018 586794637 258661265 338410725 456178110 934975227 638051476 579411878 332180453 386926262 615035783 872983592 643624108 174878640 951627428 589112504 882292777 485490224 580695327 932154742 950072946 761733244 719956514 111883492 338226672 301174742 337432929 414919851 303702303 968188572 255573741 219690515 682435886 514374051 450848411 937204521 165460971 912285432 246579190 319626016 474861500 401942685 120810611 651647530 802340893 128167096 657322841 328733369 583629526 662960874 910369226 884478640 627431554 413284249 890220502 241378313 707141794 793182942 882677371 816959249 848920532 898688185 322871134 244998453 127435006 694777502 686251487 227162803 550617213 718595468 575519677 775871397 372308595 693026401 722614026 750208418 456554822 798798273 359134967 227893979 583302545 464121855 274673647 724343502 759964137 124080269 118292203 895553694 128542530 284733020 143461957 775041168 364035510 788864249 665016915 767028056 305760275 920400824 887128543 612340053 930165488 358855252 520712255 102184665 277682463 138474061 560112982 824936293 442744327 171034371 992372432 116567091 929386888 785675054 203057433 442956315 940060597 992311959 419831148 798506491 579482741 654368169 980175933 607621853 966876111 360488254 113690645 861594141 576099586 204961756 908031882 558350039 778143968 803413983 169527413 507991945 661239159 783032811 227227794 545697731 558607774 290300978 288058128 800697712 836585144 925303213 868536789 945192928 966997244 389464658 337415399 113774257 380521130 233712561 788296918 182196184 112430339 672275482 842350268 551348261 707511345 844013060 453691046 833108628 932246314 565220813 745672358 906521985 200022159 500461757 608209823 936287029 859951542 900046659 553809540 685373278 479968745 670590157 410973105 610933309 954359262 208637591 286939231 120823296 207657240 977555445 418235510 280555220 330556191 151474698 586283751 609756010 348042398 831094724 756659610 858088916 806837958 426025088 376657469 441007277 593041926 793752990 703456726 985494622 392754160 525495471 306445720 337548452 136865685 429180808 163357201 830981386 310595281 838151560 679448537 673414997 190901106 486970233 849356285 997146908 138753413 600518766 169946190 700250388 167454204 670951857 682755065 726555511 778583562 778796948 425360461 496244233 556826428 373616901 824125921 136662285 334245697 445009289 137320587 262019568 366983592 448346547 570503336 271055325 903800496 193844797 291222144 456367312 747165800 103835915 154811996 280273150 791142337 165467317 937902596 927504331 726666488 732916707 617667967 945956819 255271986 171680715 279247683 738789364 408403607 616063852 969102653 149150705 940895750 591216637 701214918 888110412 438473093 610265665 216059668 717046553 145779417 858654260 763852371 320658919 349367067 846022415 347601895 477368915 655934623 224006433 751519842 886200606 141816801 435410193 336723967 577814677 495946473 168268146 669872018 107186050 898458544 318380976 560700843 759555154 842995890 471321687 744861294 273187891 106848328 180260459 782666508 602578518 415364764 540900748 626654280 146326469 441840072 144451849 667160778 227352114 934565241 707771212 580750858 829403319 667222915 744313535 939165018 858461280 143298098 748535629 289258575 628853924 492736527 645922194 468549561 681577994 612706436 879401584 356954828 610304378 665864454 650924866 717371713 699210692 434692992 724285019 638255091 553230926 593991494 631088169 977745243 845061312 200004608 520990586 724510224 938284367 152508310 884212720 768310552 739655052 981779431 810204824 543528478 300699109 686648781 729072918 223162185 981616258 799072122 184141501 725072504 749089701 598520104 595366837 144870538 379675185 607271904 573844969 644636661 833309673 887798218 169763140 621650515 653141044 405475754 124028131 753611168 173395969 537531350 145632989 508608876 556235962 440904805 118903889 154114383 481566290 952549642 567123372 368916053 599868044 626614512 950094322 272110295 384088368 166716658 686576693 486800935 506501352 239999456 700323634 977331872 440386294 487283790 332099714 172651722 854834715 213427276 578016145 115594144 404484851 880893908 770016697 744956962 769872751 465053405 106773607 519592945 232515227 466685886 118199743 308643612 206238156 278396574 761470374 392622775 560104550 302172973 514237975 909109292 588695175 353313305 906836941 693991308 421696448 580750166 488902073 285390566 300372646 168195815 715199688 278112726 962967332 165285352 248372274 775675675 249061854 601976192 900219578 608691649 574770098 432136099 974044308 651928755 414034111 866796525 450708015 773812721 331446114 256549217 398237375 525798715 854063188 340816261 659000647 263060907 311904628 835128604 311591934 288252548 971409785 549416323 833171521 532936458 767813868 563597828 276782075 390757852 608290813 306348048 701419361 158974259 617652402 683251480 461636021 867862026 171926458 152527586 953285353 663968325 145658872 145066367 234945600 880043832 751635124 214305393 145593146 622523243 599931059 909871889 193822287 614623651 438496019 397012473 359834035 770358724 141969453 662122880 646188481 295734676 584484388 192220016 296293252 202044755 134283449 768261474 186150375 201938151 646622812 759226327 253766624 517890111 523206224 745477236 338268527 775857133 156938615 556785382 380081230 369635325 331132513 262081215 459193591 235303002 710589709 327377122 352262630 605708118 305763722 248322094 209868515 431011139 608365070 672626134 632181265 137374004 316304835 670813568 675219341 693133393 822615397 263855547 204559243 447574999 187744966 480844570 956458056 828181797 834886403 186525397 166664994 881686401 671751533 658918504 411062911 509064674 591801765 195592529 123639541 329319004 617292331 494166319 384487931 656196987 611544342 957778940 893239970 984668096 464329649 309955234 193973162 405551798 853456271 556936398 744795782 791981032 241597957 796380393 770523901 246885965 508996344 631782672 299148574 966577149 946021421 777628518 444189757 118999975 712679699 468971461 612746692 897365036 328597244 140774954 869903764 432212370 569166838 564031163 365676375 909646120 848421886 434608820 988574069 621863539 752919353 338432875 972970909 113454717 574275071 939569078 132377847 138008390 959158189 619995493 303301415 208014796 558729780 798169748 817053741 855653196 340033311 537326309 741068340 317884397 501710311 761175450 209507852 244777389 749264121 432650959 903905078 454276815 824160103 985570020 512049721 121824936 526970531 794284612 866649102 605102400 513131715 444317587 643840939 528463265 132739275 941715126 879920312 595135750 750176153 952936873 583182358 150609378 242344636 543494010 325300113 868777719 972521277 750801026 180936208 236916893 225928824 948023293 599989127 502091783 327619551 717801330 970581438 514498562 375344516 921285077 644587275 213206862 567944475 440548570 720776992 336263890 323323536 889399658 802245703 903378565 402058034 358450753 455027244 384444210 961986986 931211807 922108051 771390218 804428001 127479980 564998055 870810338 448449868 725879517 854103645 523592319 168550480 423371409 553167794 483822496 133230959 884309253 320568387 381451687 200974234 275580413 539149029 611528198 893085168 729831946 887318607 373330598 963712165 493797248 905023647 450580104 601214611 816729559 242915829 327914216 582472788 609490314 709597636 521936270 591716408 525263490 911025929 524463655 761414961 338999809 764017276 564223455 320146537 825644812 940709924 634833426 546727674 667911645 556890267 776855559 129817409 827842773 262374936 344305751 534039556 758683311 923608244 467443070 392380911 915728952 644407075 163949304 139828208 175215302 135893065 115309751 835767871 201083303 705363465 146790472 261204535 915493273 621189905 212973599 665697225 187717076 265592399 837980507 969954123 908021263 369676563 921413912 502633822 485778022 713317084 885519056 884992266 215821117 257984755 735007900 124261816 757198321 505705942 121713542 708118947 849783649 869644200 322758193 341012045 530072459 728312342 331266210 871591695 867552979 791644919 963671983 125876433 520141996 636661024 302649564 246724778 364481077 634321936 608742638 967844250 534647893 352687624 557205644 217509155 626475644 227026083 717861853 116957300 147958507 396847235 423560187 569143228 412397106 518278302 660798469 321639343 956308033 807387992 326096310 793567464 128838955 432244406 460994716 366664262 266773253 868392193 184404650 935571465 397199138 129234316 466255871 320349620 141396984 216611256 752586992 984276434 510324605 299575361 677312530 830362129 831105831 306633476 540751585 259828231 184073703 969763472 465781064 153315338 427686167 114271001 951585202 312636315 196395213 217291101 415002136 802734660 268071938 303105209 720381882 514751370 624373476 350646673 689492564 982141594 475715683 223806159 126515439 123531727 201962593 178802438 465342699 118110807 111002504 392975033 908128710 891000742 755178263 582017917 539439249 149349537 175566127 636373794 636580785 786612357 860900012 617238158 443199878 336486534 666006295 490308837 411596756 354965193 221740465 233160496 986674817 421500259 638167315 915165281 259849459 332223769 431618085 912602540 434586486 325633512 783801548 969238346 213841612 991878003 903012475 359651697 631066789 218787068 678687528 162554751 512431938 583590229 327407351 490172259 122567842 208018888 657574205 277190881 160736225 560075203 311660256 875823777 172919962 220160389 462677393 818626129 779235324 110707612 795652636 713630609 162552513 236313813 577562762 638285362 994237528 879614349 514662106 251961515 477585519 521997727 135503488 695494952 958018516 314309436 383203884 351561034 200976132 816686117 231523206 935636800 874569427 866987779 775561902 827794924 948825298 646765866 157480696 482516797 292012351 966826807 867923036 369350561 920889527 305599293 623111372 395920741 283257596 439469909 907718427 130875018 998542983 546243472 364152546 156717404 515042253 938726428 815518551 209550655 642978750 793204833 706325963 513560679 380882679 694535527 368164903 542715641 183134851 515173074 624986839 488474650 731884346 264915086 978345072 786030616 664308511 962591121 414634237 738143731 301566027 972225557 716693901 136894994 822983245 537206996 155010384 783039933 614028996 424368207 470793968 951013935 322301254 487083265 592889544 396049744 100621902 269249596 452432855 419806701 764536554 858631566 578389531 228606822 401334737 112125392 506502523 189552856 411914592 793755528 945336962 853426886 491198093 420893170 805956382 778421689 638701258 903652404 448530047 480541087 446603415 817226556 579330138 753962567 138541275 180192315 294924253 158973524 160144312 496373487 216926336 155486301 236656940 645448098 659154464 229300053 459837876 176686928 319123541 340315377 521757254 155027691 776902967 190709850 701136484 227048311 949964409 659522392 800562230 494697055 278553982 290268394 727545924 649335660 969288886 331332709 494907445 166030898 539078975 987965336 767667306 894597709 522723339 469018314 464230219 657096936 694715963 724451543 924011654 780092617 896540917 901467905 511697678 205024571 492626413 917651673 802654196 154032307 412496962 211351370 909924810 986996438 584656986 201593201 624804876 948824944 871932968 740742201 719980054 830822553 754452930 641271137 568159517 758488075 153346087 433174079 176578995 993746418 849713939 864530053 142731521 712701124 730732511 153087714 778150275 179264806 406029874 934367858 507087985 687476232 999347534 854045347 449326561 501174606 332473396 880312279 363815996 314545921 297647037 460750585 229149295 942397305 328997634 729195579 997281183 552132969 987670743 944448802 870214861 479533652 462733979 231370493 305347681 255671684 197901630 992889698 154179833 654403529 543367784 342851168 348884661 375180512 556160190 820832527 180558081 596796283 621932551 197827021 278094312 469141219 606252558 368518711 166578819 301441429 920848924 294426666 485122378 299112863 312247574 596784160 151592885 346757690 717325728 975851881 555580873 798190140 663828362 419479783 634001994 566920918 299638833 164261486 614365176 632267352 892451920 455506444 747151369 294179410 836956507 739939945 848333652 577485909 911745128 438100963 130921493 197106579 949231641 167798164 144646122 513377398 370150182 263706848 824963480 436148944 646169052 188877440 402494077 290802571 605297131 809004540 122594371 977429070 811750235 359499422 947179946 571022346 420912923 937737548 758458885 706973892 821121559 401907993 815114585 337740005 792943119 402280493 182824856 191909114 561600349 264161283 426202587 670187125 788842698 312861240 704858577 879859802 250562768 431364839 348660712 601700453 217027425 604163534 593569259 507590027 400535058 906162454 465804963 488571105 530652977 197646019 685629315 370209409 125077769 243359136 802080073 603619947 151683437 140347140 292357109 601022870 970664121 313709766 481534888 981558744 696831895 312907211 235763760 273815988 664257081 229187267 731404641 132547132 698598634 925084315 466603319 711733550 257911553 483862135 310560837 263770095 190070208 582101265 425860569 981737030 265909806 575558452 618129104 165834574 697104065 520528069 519348168 688823302 476959105 124102520 143107445 885857773 802310370 288341902 346445511 740603777 880729539 686164187 564165137 640637089 326878034 112492017 491299553 319256746 616818547 682955884 104823894 141053109 641430853 638749080 761567184 664026081 390480319 322183157 846189104 932847756 154615793 540193112 704253307 838841070 346583886 327712554 921483996 414281435 527284468 365179314 413060983 275832078 603820699 953013149 901321048 123700429 389065739 257612110 703383093 872492784 133691459 137159419 196286277 831529097 486262218 254393081 929316642 128867937 239374593 555812715 567818591 990980963 652939288 103065477 573308352 412699529 325186522 597252664 677622399 114577225 215211152 671515339 705698019 996270929 556359154 805837809 340873478 683149554 319444833 664744602 223212406 748153955 191348469 784229653 107275902 635610401 415610292 326578772 570034415 913183639 104108153 331162631 258214867 447192432 923360802 789318573 609611884 329030678 504531424 374373448 554378544 260165150 406312818 252562211 843375735 502514265 106459376 346101726 896580853 404577169 726290541 480341064 487537778 694474161 218696339 766756854 820207869 156930522 737695230 493112111 241377935 380580645 183661027 470798589 992964024 364043624 743708427 975802899 721427465 593319457 617081797 388043504 379446293 829288149 682344484 715028023 615393563 589888600 465255602 860088608 651040751 878463090 759542848 450995022 527155442 519701206 980796649 230077354 532587725 309048507 954665900 687342894 504373152 228820937 978915155 430944179 480655271 406685364 760537786 258847642 223403309 531453255 742101948 180016090 776281672 960631268 356280496 871621186 744396402 751449524 369385193 203051746 541021734 784879242 723820103 358654750 191255677 717173011 675364301 655639654 432370031 898721568 555375807 532382306 386564483 521646089 267041299 527905593 590587515 874692959 184637928 813269341 584671617 456419192 476179258 957712057 491103283 582871230 382955828 848200138 636916331 544699068 305510089 469465922 622888785 971933941 401523496 401499015 362306746 354635633 672756578 529447101 630829938 724921731 276590622 895283236 220979315 843917420 796662691 792988214 689213833 787135300 989156550 569430204 419030599 769656525 987796838 623616145 777827228 942377553 894496052 688365540 909906758 649215774 882662688 929127939 431668534 385843330 473538393 644320059 448582722 651647422 181925991 840122977 739124304 344255820 770251161 878503307 591802138 606276682 676236993 944664582 193837314 444955637 331893440 338120887 555076003 550639276 171232851 961011197 451056794 159505046 301718944 921828208 323109519 475634573 470762355 407501376 334408426 683878390 704831656 335354534 927386950 249869268 564796903 971036827 425223754 536609878 223216684 307035963 367580107 415456396 347088261 549726249 130388935 255199287 115020775 141875537 409760484 931485705 241367410 272713638 528754849 895076703 987202455 763619201 161020877 873676001 221808503 675697028 278350802 320245064 602660138 631153545 674011389 127698564 467715651 124358805 745806164 500837454 350794491 355551358 415875200 158737637 805537977 172943226 675478592 814350964 656223750 155401589 835262948 851239922 585303698 186633752 847250058 980686927 402479318 292495737 690394744 107753849 576199986 111036215 411440790 906326497 691376348 759156849 907238271 321712279 356783728 237523832 857544935 258010675 922341649 941286378 629436218 224659528 700374311 106817028 155260361 699988547 472481340 911659208 143700736 318514576 909879644 474685096 453133293 719310320 280132794 366451969 782597261 593720738 116502116 551730203 330051497 252748678 827997592 284725930 227261783 875426804 848859015 411215578 700532122 523048055 960276185 715230332 931234416 913466288 759190137 323994638 933980482 930059944 547277302 475663308 695086361 985499045 781644235 120738133 149662659 189992477 323957725 373583672 373011384 302016989 872563510 515280489 475431422 906737333 863016585 613353129 109238635 424686339 225278222 838650552 444391409 643643417 386912725 756118050 574646239 628723535 297918574 401539951 362488088 873564624 345026074 638496736 987160130 825350843 566259994 491480758 440611018 175999993 171078582 276692201 950440703 728442601 461387525 501529082 970261160 775255289 176550308 266557574 221428301 397575561 579059324 572244370 938051667 119565769 439020702 142587803 793433931 723443200 113421932 927227634 502039585 729235073 294207634 105484177 778226442 255804668 758763282 912159143 665779862 316806494 597236087 814925163 544808906 261727763 341473132 538976846 692215468 168118306 280238025 731766375 235044266 143622483 548405429 628934850 135280197 410566246 135616547 118978997 773633372 437819922 122497271 614574877 546443283 159802494 406000374 423954402 432418270 474722750 962125369 411825838 344497438 402116743 173845111 630904562 366962754 720178938 585160801 895621013 970939905 565323760 130881614 267303735 107891547 394552516 212000731 126203146 204544024 581667255 723444390 468969991 336485458 644153410 139339792 723407655 594710959 980394273 494645775 482582656 695238226 633681578 660152098 269610598 576629903 866492030 488030029 470089280 455660986 723079525 601674045 218661420 914739127 699325068 978086860 716217467 753507379 636507519 369011329 279986445 885941949 866878105 833599767 330599815 759171133 572241228 344395248 498952962 110010846 417236981 689147217 942705715 479533600 424298234 783225022 874340369 146920832 322532879 662075969 497012082 551503179 921953825 660994956 963567501 536646714 943316940 990346884 463972868 572470792 102996964 190189853 209399780 433639774 275325544 763441838 418376342 105414821 208557878 286260641 520323120 340789542 629326592 483803466 889570752 598398078 890222058 857616909 646372807 168641737 932619090 632376773 129943109 404760057 725470782 330801317 924445340 112889111 208957325 211923126 903432051 628953692 425783592 474990939 758986548 588249892 913882007 525053037 448014022 789235650 927406544 550509204 344990132 260320407 721864530 182858261 815224666 720878472 390154166 281647700 246817123 251876887 261873872 808421686 826858580 605111036 410505044 605823741 490269052 615512684 359089980 978137136 613127549 900958717 867746848 524009249 817812218 423572977 599531407 579856059 861197081 580359905 492475843 464722448 349582257 969274023 450452074 938313356 945702475 209981195 612216801 135841414 823051243 873163086 823537790 300590496 339508883 928633137 591232022 968044963 676450404 315415809 695051592 774529729 125694961 277826874 431129180 434876713 980873450 844966844 472658201 293308780 100716399 719125068 539144387 964560627 264220881 266189074 426739191 413883209 371965534 343077984 447387670 846738495 492330211 701511986 361402917 525260338 350961547 613658632 632189794 916029548 735227426 104184280 319317165 491688224 901518115 524847294 915635083 727405321 478606619 356568379 755156462 846635888 324441060 828504368 651600230 318199382 943585410 671420835 800586739 850349262 474058073 332059724 513208475 586161568 543488882 530066382 166093592 298098095 924564573 294567197 730094612 979756747 560967423 659516747 699223000 598400664 369243650 981491094 683239746 943691347 199614661 926012828 983123530 477151914 181558294 510781345 364173184 138143482 253954906 809633687 882714782 666744440 336498395 789862274 571787402 785803776 648889836 244761876 491249637 391871981 724113077 667605569 166061411 441087344 455189153 901086532 207103557 879007234 697846792 243496946 400364246 457056951 335999951 360518581 171903164 556343293 590490343 740169803 126388013 466128034 502010464 922858459 864471447 895062278 353030816 746413311 351928255 598887884 616103760 687005154 332577296 855733211 156200524 595209673 801791208 858634498 824455441 435486830 151440502 233718877 789151904 648285009 216302428 536853384 137911418 730519071 143773917 235950335 319440879 739384964 318291803 944598483 740527781 503007265 733170335 719048076 366454169 503890178 338516084 531055300 761873888 124990667 185119857 726907468 563597821 383791068 992633001 602979315 448948166 132672253 401175203 310487118 448318873 266758507 479783655 134517236 892205033 135332741 661593470 693098517 330185972 854410782 567835085 838841646 128102017 647947032 389481686 167820625 395505433 522398422 237186186 264041708 233151228 803281645 254505690 420883405 656436052 841616996 469022446 430765711 134994445 795241848 262501563 214661860 870505224 856143731 935629168 575914863 172684441 424417257 510743737 467517597 322565825 138382001 763821536 642968437 279508009 633172932 623234368 403887381 937835258 682640027 537443116 735790102 293502118 593547039 429666391 390776166 785005848 360050142 875909867 421817343 369646554 740362240 185802197 284675685 716035814 887092636 101025729 215201543 904112219 809957871 580447268 422497265 217434344 965986396 762497444 297361589 440872648 838788732 164932926 844684257 601896865 830504561 255198005 341994735 691815506 513874227 250746669 639647568 708169942 745439424 476707438 129648320 431743882 340334302 581976697 599323969 714163924 572839194 663661890 134199456 703488154 702493523 412761583 878276106 763921064 545963684 769479429 115614940 490811075 248344618 294510342 514159272 102987509 442392432 388100350 341449761 947507944 479578026 793789271 751153278 483538846 961677467 888410723 589486947 602777871 531680690 941344589 349242196 952513359 252110687 130559893 400840658 105278732 533121740 983923004 633084977 529791104 968458542 119179520 834931928 406736205 220385689 558342362 673552040 224230567 450500928 902742965 170789947 315400727 230201113 894830384 767360261 189064510 106183213 118119794 482305170 523974580 618482701 260864739 916644853 321550094 515629031 613392003 404222910 314761691 401190999 769963643 486021670 326083418 949716623 882345308 910114103 919775324 396152641 143874351 311060387 336577980 377502329 855391547 290073552 248416367 388110275 648202786 717115772 478336436 356389044 831909837 899127337 320777847 240380410 109158416 711124883 296713477 493229051 253251939 716982302 802610352 903916016 814159665 551160217 791711810 363890549 506326416 626729808 231955078 168852068 527657608 274521198 474164231 145906089 954851816 156911968 729504957 740928684 186816774 811241115 443163232 910045531 966116658 802681956 117669340 703450762 216122050 680414562 892127571 109452991 285114132 446550270 525664242 628538764 303816762 685430824 678944573 701730989 368357930 957119227 149363226 400319502 292238736 465284018 263271150 712010725 759515436 583221085 127406576 988065873 364916296 479862987 515088335 975899872 348535232 368825105 110323778 122595268 770524232 317890057 781514116 693554145 883839061 209969320 145573909 911036954 149784685 410516406 838731743 372922635 356914263 860044316 792344696 644446941 430004646 133761576 802265702 254309431 520822551 437690453 745953985 705396864 941912685 899006057 644971044 833028411 317115608 221127288 614554870 589647913 704935165 378392444 681373901 753642806 568589400 939029945 690658935 570647059 681095356 791885337 665573667 204687548 610620688 845556714 120177302 663496500 639492199 280614296 732450474 359769904 541248593 940894953 470595323 397551089 748041811 744923780 990606670 948956811 630270303 794329038 314033236 970396409 379804927 279496999 932741122 271242372 230660754 929473909 162109641 851374326 873225099 647868045 705257285 502656906 205465637 221942909 627272752 273282787 341676312 182945954 967602326 473458198 945208559 221643860 611461546 116848243 315493056 303314666 498962602 306894960 351444316 194917038 648390947 502581583 966015242 853012072 858375479 851374821 468066623 933787559 528042219 665101320 393985058 264367615 926889092 889009786 256482426 548625369 316322712 635802908 548361544 221477465 772233267 287196222 192475666 689207164 781287935 298210888 356886391 699592623 457366933 819550673 753663588 994049754 912469086 563027160 770466592 995849229 743790302 787646790 345943061 519267966 560345570 931196578 723996198 211723614 270543684 636978811 968530036 841543985 601111917 958675575 596699666 991195523 301920753 874813707 732462984 726096142 366022748 712126707 105264209 960431150 938991043 214900361 298246574 578794362 882827230 141201825 735307510 593604064 688586220 599991448 634265008 533275009 403500833 447064888 778519251 757045008 394482585 928770367 689504473 162588213 404800348 734689505 502832534 197127564 297492420 833510474 626128117 865771290 224780942 905419543 593394134 406803875 119436000 855062885 978511308 262151357 577832406 393628578 667728674 357530778 831670595 723715562 979840884 827647949 863756175 423172124 225651520 129921172 240278599 147430893 991387872 555524181 760834978 395876093 155699093 761160277 366066941 564851672 144446137 211312671 431459119 676720176 668148413 447725858 279675284 299184869 232612868 264138344 538802136 315069106 952810424 750401181 708449618 956957377 958400809 714241492 805110694 639600468 358555975 857263331 251318283 111881753 786230042 349421878 650013723 182527828 268400054 180207907 986030411 955288650 301582256 703888150 754109518 939646384 128719333 902764138 208646133 889740612 763189970 255464201 842421332 935572490 527885006 984697498 183358657 691619379 996192061 566833847 999707452 288860468 243028584 303403129 778636863 473468831 149836919 630636949 899019507 980593452 362665720 924068416 349018088 598241584 537064063 432461395 260500283 301028235 265435920 401161146 290268408 234445181 774262906 108067226 605945814 822304723 664362107 667122306 739628284 740246444 979804770 108061599 687762688 328139790 935570166 737508007 786600769 739729421 596664725 367094957 836511975 503893133 165963927 994417518 171026560 271489009 696626265 609670499 328134599 567902634 448755340 692378481 148774787 158805254 379988990 904286575 672077984 847504234 704861292 854528829 252902009 392947868 364193773 431530663 153571288 250831622 760324256 125630885 139814280 103892599 554284388 122635189 942814376 985393535 633574521 102883398 889450509 759277873 450437610 870644848 514509934 607087674 141713491 749050469 321258250 635704277 945866983 963716758 555257733 136054675 473753887 761201051 215128215 717909423 447302785 666619468 847031063 167078321 827597849 467857215 483189624 512460595 680915062 517250110 558333212 461701175 604986734 473433776 170741545 899866213 751060273 483009629 195853528 463866618 822244011 908173086 987177906 864364033 750197300 399674307 113718182 564462419 635628812 320265616 298461868 936544850 594287446 981562142 718183981 583785849 656919362 317895899 440820390 170271846 301106781 372074314 187125015 352370714 179853558 957303593 543023353 450272570 166048675 889894011 604807709 904840110 654541469 889183074 956830333 816884660 523707049 568183967 465230943 579336166 521281988 913380975 417139927 711187988 783844592 708438921 184483724 764687178 136170457 486898738 670538690 719727179 141548072 505678667 263430312 701758967 223989975 596600311 682893447 903550354 996750264 974569221 238897058 782353422 645129441 449840724 696925766 479322234 434272422 272494248 966472750 358380957 302106025 728319125 189104869 432310536 970518281 689176031 314937779 704498293 262219302 193275037 513941387 447754225 753130388 319769816 978924045 562163339 158945557 903176915 303847000 391565356 371745728 855030991 195181872 304136233 588611265 296998096 679523993 305539689 849052249 820926475 112846872 446730431 523866854 149496156 619912291 767809245 108421048 123421445 206337334 657959623 834455624 121942904 571050655 846105326 378154528 161358438 836806433 628364941 864073056 546297687 435668219 823980343 624939221 211784657 764730278 481007729 463273546 414142278 530119069 217573836 667680747 302396655 184200184 983814940 536425773 682603227 205064991 538955700 912436868 724682240 178191023 410161892 616003702 457843175 941477347 730665558 855340725 769300151 496529204 475023745 120734557 774527396 308647180 992135637 515786135 993318754 226561115 710511438 787351227 255486085 912629895 955656130 127317770 456608132 324863135 178852407 285353055 654853121 306986508 161995780 199795047 174336133 904763519 250953987 909781614 848322062 115382237 840909237 991718371 565556941 665869936 471817110 807857477 910331134 932145485 431340520 852705130 231070167 264247750 293598357 945176746 661167718 175107244 667311717 866963026 378666637 370339047 516759886 505972140 266676129 868146856 112033175 541934007 266977184 394561738 363021959 825572656 710655805 269971762 450345087 102515660 964508266 569242438 970435786 468549732 854587196 428037113 962360460 798180355 604187180 124559937 502337938 339991788 549340607 841757911 186473389 724719095 508677548 465327574 157704896 303705271 939738159 104758198 692170071 650266492 268634319 317690135 715701493 233576072 913461097 651219563 716272403 996191228 424300213 407296649 726755993 105683167 965639896 886488222 438538327 913506870 473522389 574401353 547853514 153468672 641510541 538071998 913995108 917553183 828950546 713720805 477519703 562489570 196078351 776462948 660959146 880371281 811341051 329528219 685254014 680702503 906628757 978149448 739926556 360443888 159664782 794960707 970736460 585361716 216140378 929145355 497795933 408084178 557663720 615636989 705294439 711619377 135974588 913869051 500318771 786708524 890449852 561702529 376115519 785964077 246837756 149384287 349593151 930578338 656458772 341102029 499455136 955015845 780701959 843485219 136715398 430244788 683553037 121013413 685574311 154913840 491127211 803320179 285317931 259347501 327292425 232691493 499247328 640109944 810272867 600622448 706959970 373159652 759976575 411312833 812137845 983377308 275703416 365886331 940132893 448438709 969420412 201297425 215608245 939159025 966963058 245851694 324282830 377300468 187380434 974536361 103968203 224328506 852554927 446757090 159810092 922104423 570422442 364836709 634189799 870503236 464081809 145297176 188825351 305286331 495466134 529536628 855948805 386813303 921778617 442027884 928063239 960331656 925316252 111799709 622493596 224496209 971576215 239271721 224565467 321101198 685414506 584704968 266317659 854777606 731238837 398817431 752237889 930336174 771310868 664958496 278277689 615255277 212703589 773909504 784315241 356853015 826919664 131223098 556003274 875781472 500633611 803673032 352050753 213612403 267336899 851946272 952507791 871849475 686565365 390979630 233205276 649029186 158965500 489879949 529052470 115991450 649497891 949422736 798074034 631248925 961225932 857095541 234132529 276335701 519866532 967627264 305051392 455639337 499881172 951742719 648116225 299125942 932542307 445961422 305346893 265131875 798463535 355682731 792852568 182624830 403798574 312267315 930945430 113035014 180194330 826622379 607661839 891880171 506864225 946686139 486321056 805726019 261402276 439873819 357929782 850869232 794722726 895307551 229110962 273993504 415281550 923349460 288089793 221747091 923199263 100341338 226010202 181498762 217402362 690672311 340413124 271193696 677872486 478314214 651463546 446292540 900117703 464659265 598642019 504536985 791557530 780779812 272731068 439985897 450109611 611371978 382092791 933897696 860326285 930684407 937950002 916506229 715178244 952843085 367537859 167367967 831114981 842986667 346292984 671413730 293175884 578268166 624913681 518166286 664157157 966820611 329199063 857919104 138766489 508341712 617043851 881876120 767674506 734582553 685113351 738623942 555907651 636600603 832801632 922120149 164149690 258917243 684922772 572957479 760205919 929330169 849644460 254841000 902212799 746659776 425502852 626642049 329396873 699410322 859866166 966833563 611948814 120476965 673044916 409673525 945173308 727304023 159130961 185565713 320412290 850071418 935351565 505609588 412371162 556820581 212075984 646823708 612912495 300013793 437165891 810296885 543234186 453837495 645829773 631198408 986448198 861210429 679607970 212085284 461744995 812597151 111945371 542314721 465185385 927760252 806387679 304917385 686804657 470741793 732239570 954982105 457629803 274762323 508787487 113136854 595913041 810902267 926075641 768383981 697370057 807214477 319779828 888360675 895435127 191641223 993771045 210713419 918525807 112357060 518781907 580764660 680355093 977258116 779002541 118905965 378584100 752928841 423323443 316887284 844051229 678666412 638670585 144005589 764310869 712177827 355757982 734572560 977378013 264048442 846226819 920840709 387606806 908267998 568127869 153753441 789149373 444519635 388325304 404021042 700015976 999240038 879287071 278264637 417200961 293856938 600151087 550119132 595471673 236223438 188086878 702747607 948507231 223724383 537746523 912746260 529361163 520615668 884808895 889623206 841314268 743049055 897288426 161353728 323798584 166585893 243301256 736636806 980385145 279820119 732009067 304097684 425815054 461427289 875014622 794946086 409571027 463596370 541567406 781773729 774336718 851303705 500129974 234240471 643334798 774779768 945627444 164689168 400098770 984949944 213521455 603272469 542949268 436010484 840133738 402811838 557526514 606217450 855047632 230992952 310104943 339520274 980292940 830130640 391076107 245822428 982449513 291246942 697168140 420456785 897614246 776177138 671720071 654296379 359802042 126908671 404067511 801880523 179892064 701567183 459350782 820781758 650934518 393210598 273204655 425232590 789286683 883868483 436403567 962212602 276410448 339506813 681227318 803043948 647513175 985579658 192855050 888419108 667396259 712765054 627094103 618819023 516975243 560894501 219166355 845915211 338910053 172225532 681598492 353082335 139949098 784189797 175736873 750546865 435927875 787684514 740486197 440817884 540271663 918926940 998093208 976880491 617433389 395670667 185902824 455234947 545132726 362887821 396330803 761050865 674627283 941071780 486106369 124792413 763067735 779295022 438311407 764323561 413824709 412561121 690409977 799227744 912936083 646605423 467247162 555338394 577005135 767560769 592682510 428051300 652647112 886405484 544044813 732299727 979335223 145896136 641428396 326664563 103199810 734870718 350823316 894609719 159990796 404587855 194434090 927421772 763062648 689721003 220865696 164630649 502291715 703957240 255391572 151580024 454480122 317771600 436300737 428129133 841453015 654705629 156315657 241343093 884765706 918679466 524272628 357091253 875132610 165006684 906632162 271321295 904401984 705592049 535057168 165331444 161130869 606888474 859789663 124633314 415592536 500110294 959248770 371519921 417117577 438765710 208233883 500367045 494147825 378356641 691537326 641894936 319561533 943256379 406588760 666242177 104249658 553116663 702128832 924004421 361683281 550371252 608924959 870863686 961610740 168380573 417370902 256042271 260517797 493764670 590068425 228682715 830055454 291602638 465731276 888914116 583576275 462303256 749793784 810283464 465152723 601437604 713897792 901634454 151013109 982519808 256935745 377701165 705751452 351489380 397995098 506712169 161134566 769217027 146313257 887872741 870963341 702825821 551756600 644300898 576747893 270359917 950536182 600848716 762617886 400834183 589074353 175488981 921013122 361740725 275104910 179614311 437246944 918164803 313617338 723383682 518473289 290014034 189910354 335346779 878412937 156391910 869979518 148303911 993692799 378652859 886909446 780995906 378238942 279336594 365610452 480744159 195476249 915804087 148987676 963116444 112879270 623762396 349218667 353235278 205994704 153287959 422224194 303540090 579002572 775137295 504093228 325771126 476357523 605750133 969621236 120089525 503046339 305270524 916897590 216179358 496793662 749021044 835366390 415936959 833420319 897600915 826679139 901289522 140835599 406208471 727813674 968548884 175045113 594130418 123278654 439058523 221338807 133575854 566597219 230605328 595009787 833439623 386419212 622551087 930149492 211409739 156320279 316951002 547134592 440720826 729875962 840694552 653188284 242833338 967966086 648026063 599332512 242297333 209853842 988381777 899811846 143294810 104591285 293565588 921350114 181810382 116286249 486014421 370040333 796211766 743538639 344951953 627217345 518606907 775958024 980509256 903051872 799420018 108422886 638476809 624028860 913626603 535667153 891289589 974812559 145810481 621562734 197154963 779838454 385123365 869975070 628561970 111937028 837056584 119582908 736232213 605182385 729803543 504168940 551662097 675077207 517287460 356592602 462323285 956175520 330929560 475607829 506137564 767255764 283922590 519128495 512247162 346063185 601244406 559521266 157496668 179819924 146643938 566278040 533101557 220368417 902900145 231135170 741516991 590112036 163004893 924375450 365899872 573599770 840616811 874225185 272627126 801123521 506060409 768192903 513123137 175212185 154330992 445014078 680654429 198624686 488876269 669593668 261650454 901227820 174287714 580844317 109143962 350738756 578549726 471935768 621371912 129126714 187764923 895438362 656676272 532808098 127453443 966985906 362205237 520054913 317093037 788305358 523338243 964770255 460991734 150285916 522119122 981959747 855781176 676590469 869564953 198624815 524146428 141591626 837585176 563267686 887470286 330572682 590084106 393751992 557044978 481582763 992224143 429150785 838909628 828096261 969802607 301496473 630999687 140965149 840649413 974026221 922798280 771336065 721512859 499254609 149897511 835455323 657752690 872312651 371765325 563528242 965091564 292823459 308487293 362521286 981757670 572939530 671027634 142247608 842442876 249559299 807229371 988715164 869510949 510539875 137095495 910002391 450511333 309919969 585661421 646066203 527275888 486316872 986098597 970194616 494304161 241894868 410554860 227211310 131247037 972288055 631658452 416904537 704597070 879185398 486341874 887798478 369275193 940422642 353457479 578383347 977839158 235180889 100081790 823242517 452047102 522471023 362380909 415794152 296206128 210108144 884593199 133894706 620304104 139642342 960519886 341130265 351589527 934398089 912623779 753116147 394387503 393201556 157013974 539550123 437829449 743570844 865096662 668373493 142473653 364182654 557248212 483121067 989190527 557197364 754783497 368249431 368064418 822251761 204313883 857187635 448937372 152178807 516944733 937555213 820616089 638136395 621791113 946622173 767664643 741693778 302444536 784689912 448245996 519336555 385763998 573703410 805432631 577862966 783932149 688554174 207767399 732556544 432887319 452034629 135928275 147695103 918928758 347861053 586049263 195675616 298588172 946667698 779883598 911817450 782844253 307585636 850750670 838518328 400762421 778002167 432023399 557723182 864986951 106459919 803454244 184874838 541938415 977632690 494125015 277236367 280448059 609462975 995843058 581775028 519710285 866133561 508507763 291878002 849514622 323524480 958306380 397588795 913651607 308248847 825614456 617127977 299394048 144734904 852816176 497336449 347497588 728728551 302335657 636616573 486822383 187440722 974556326 378520794 239384949 589214005 346331727 141185637 885503139 101477939 548793311 621608044 416340540 302002565 157814756 836471624 984566039 496146641 167474250 109375996 450930684 364050668 526828896 810238035 364877850 988225338 525337293 324643844 465672028 269336808 663435828 788067718 834373702 315636177 918150234 399198102 747281272 923033624 785416792 644904053 212348899 304689254 386169165 865845918 475287415 220438053 645303884 184384178 123022561 836124768 492597445 298554864 332541971 470671132 783645899 515613966 233734396 924092992 191697747 636623958 703452823 101308807 650409159 495691235 964559347 394378220 755956761 807592340 121296784 736720422 726517947 490988610 658780311 648996613 463020543 204064947 579521877 194063467 766646037 917859398 660685613 170413584 340094958 704179872 797686541 509969020 658287967 596605997 323404161 426154813 656391758 807365000 275929939 761493525 136673503 475167251 354994385 364762668 759081167 118179699 645044256 107091800 454483587 330519082 178893228 387024541 990205278 277851846 864615704 586249794 582839057 222230695 622433127 374095976 953647040 290201493 143864438 954530411 221409513 616829129 936974988 975616955 962198751 693944302 991951455 956571646 260518923 493047645 675852815 406294462 910240668 125256652 118324907 617442628 518783729 419768322 157693857 923459456 635069062 989799132 192285360 805096984 841100617 451237078 369073632 728833319 886250929 408837902 689520062 905746334 137780861 176128595 820427965 558648907 196035659 750219249 278178796 253580721 906255386 114386398 157675264 141093999 365140748 930269689 589994538 281363220 668907088 811013006 811849876 979086460 598738259 655669093 490661161 334682413 958783171 900100812 632315404 572173625 455850953 375966334 682682689 294158821 625758537 330119690 554637909 805673762 858574743 366283525 952795731 234860008 990041812 869217905 710526520 399618187 744549506 683669333 638421378 338514308 589883116 494971539 288836695 763464551 648198655 457957329 353443582 151812486 755058489 155296315 216937245 344357063 487924242 678686101 387672331 567560873 654614079 134694122 120406474 354915941 657275957 655093650 263082344 599843598 231317749 738592253 387496754 615250247 572788613 838605995 395112524 359893575 485351144 284204407 763382116 868810273 380768341 233357733 227467651 409222199 575166335 579594609 388462408 944236211 600957682 933710465 747996995 600959030 755955435 475974656 192363990 950604063 790753487 147357080 430130335 873885150 744867693 264446555 579898069 574096919 260567966 912986875 186390026 712965477 294154140 416016643 437338818 685312277 350417524 885615470 974629448 976764058 186797981 114636464 361433803 251644254 294400065 916961844 292463137 758783565 900852875 613718401 617199332 417310323 428611360 447513605 350739139 173996337 579678820 397656757 558257203 795583210 859301008 810974709 633755134 755282973 883822668 153710820 945091362 130315991 741481093 430729435 850210799 780793157 515236026 563599172 506016200 627506560 721319106 357641547 415072407 990479166 610157326 397653228 541310831 260907872 243858870 312799085 227759331 437453019 960229331 170302315 658549725 288108028 879994061 567568869 328891986 982617863 824906125 432128879 784827500 522927624 810525458 535417674 325547690 835640086 305235182 651130336 347162582 678471395 486446449 881021741 710602127 630698601 213396805 643078162 296347041 880140021 491643127 501439620 926245481 979369623 966056745 466603368 413576213 368797530 454972046 359312453 871261669 235302958 565528429 979008516 694475152 797651809 703077299 530122740 532328557 782269774 255336374 428523161 445227076 226376350 282403161 281181790 143710377 454981132 242749445 364675602 551671790 160167212 845871461 211381562 591079110 657736832 835439597 449065298 225201391 711373541 350909384 437982251 528357180 251844019 590970525 627252272 658536408 266275168 685774386 519559044 627525210 992589999 137584490 697595562 564486160 197316372 543176593 542843671 613510175 553158623 677290698 567936079 521659801 701988877 732200701 272300164 312738075 646542994 217801343 402251515 761604417 578726826 364681597 795175719 488423045 826037906 307465767 321535208 965473058 537262907 151127554 686478527 943826906 855405464 762388139 501870391 926309859 358159420 123738894 976977989 733565699 752182672 605944372 519025163 992926142 382662800 562004557 411870818 772083921 686439914 664671612 592677083 225311025 440140369 787172203 425470970 171109431 701572420 658444271 694896127 744709418 905560427 678288386 908730618 390249128 828021533 322297875 528422353 879961147 246701890 915540395 481698496 839105824 142135994 947669369 430072442 883949781 623087290 756400549 836886558 553803317 412497822 764614296 869942141 120175512 872463838 450277121 153783942 373956493 116900335 519918236 804815270 241870502 202258233 818882904 688263506 430108884 666766454 684784013 204063506 325121997 572129582 643603929 408513268 849544538 109573877 333815316 920076080 444384978 515269776 432545322 805764568 955140733 818489395 711680288 653368472 512423947 368473997 829493342 752031444 681147126 683439066 152780986 951691233 163572071 160333079 930614862 825921582 609174708 172359830 689894758 728588994 904824469 196325945 966471203 912427559 910995487 356601486 825554793 372650565 784516026 517650200 328487301 666647501 136946519 889228540 762844096 712974656 792630873 558906245 776928268 487821718 560767296 236679966 205979521 399371637 259592876 222427179 131700632 979539891 649089491 694921895 137175578 406640390 679506400 438262682 231832887 344461587 983606548 174826387 497064683 792724292 200081573 351724474 707215164 627532302 890147058 354062763 655680594 899128821 409221297 926673460 346396903 621712889 787454358 536896509 584261080 218067363 921921432 133376914 668975217 824369683 801886582 463418131 620933984 561546839 766860896 256411058 376502419 825437049 941435013 578054086 968882250 460357662 672259359 522980308 620292256 412224165 422093867 706392031 223162283 862682400 790911954 846373346 737322343 425258378 331969651 734149161 472679079 952178443 746448027 200696817 701420325 842571682 262440386 603012161 379651746 116789247 558531374 725214452 167297366 562555364 476781646 989814150 566926529 529326350 139086958 298492897 504594169 347564337 892765440 319931309 430740647 423404657 311612103 960801147 852307397 563992950 320278340 733415198 646225377 215536234 844355111 858015093 950794573 400740604 785375826 797183790 295472327 118803775 869200741 979992505 168439293 108014012 868345096 277580269 798593240 208857474 232200002 975155978 723811472 200356308 538346155 662093659 198454313 388115592 779537197 474813207 839932021 301106240 231984867 980450646 152073683 115414838 471235365 731416038 551035663 351742041 669977707 444141007 972329461 102522186 112298535 481724238 584014523 407405050 352605177 379831818 575344663 205229039 372690238 860032032 170192561 453702471 768269522 716388553 555486217 833115522 820339147 179511750 299997000 166810567 966823186 972286538 568812676 226439876 525761644 900497874 382689401 441706999 337941575 144927298 503713797 251781969 942056551 690192237 598631059 922653592 954370640 253093852 283322951 199997929 248931139 555959664 994079617 935067450 414786355 619865444 409943828 647930422 755328851 854971304 320839778 622201690 597348940 269456954 534055853 510769755 550088697 320147027 731928394 235929254 404387519 978861417 297997218 340806219 634221250 176537314 194266916 618399804 720932640 422582815 610246483 211380785 296135287 344658322 323504093 143013906 615259290 452938146 152263493 632013915 619907485 206866568 168376947 676576019 911369226 915834464 272652669 938124551 706014592 470804309 639352955 383597376 871058552 202436342 762921638 201647320 581290481 564205591 609156522 515205697 998355781 782050804 818301360 346492728 570349826 235904150 963776338 951205398 188473900 614435048 596274324 736214416 378220543 418799707 207496229 355221015 267012450 385682857 540599072 222966760 389000662 770101713 242332294 312293268 406673596 910863492 146425698 828813843 149165419 218617814 117830689 980144109 179626642 870321053 845524823 136838460 312089995 610300984 581502717 321147117 358818892 217281930 896597589 620318514 323736490 242808107 363934571 437688965 833955538 832164321 347390204 478656078 479097325 883216335 948619564 229155712 414513431 424151739 911040723 350544378 582425268 152438582 119473036 587792712 668878552 640110221 180598107 529986927 179624020 512647517 813891248 268681597 615121420 417709412 165273291 666600062 312928566 148937149 774386475 133275108 578717473 822846846 515477961 120980577 620461307 268633061 417851645 679324227 534905363 716077687 322389478 797479245 959077840 314519423 292724363 948429650 366769927 255619924 837065459 953778782 119640206 238522774 417789677 875903730 357712627 278084496 146897046 174970204 500733003 860415609 654617362 232909648 848947316 197451099 136749585 852857138 756457099 450093550 633961643 475818957 406950739 493330627 456532890 358387302 143506316 275763428 250711465 975961611 501758279 440302974 707646762 617717057 220213773 757123295 658510877 923153740 702629400 450751575 169372551 904444521 472651436 327189411 192111768 150886806 308318606 747925980 141601748 711677108 531960036 884113776 994465900 836229685 897375721 103149409 655141211 446083137 808269067 999040558 983507896 723906687 737188781 205476888 740357910 277524031 654032212 206711465 781756275 503686723 604619432 129972832 273305190 948888459 932913895 746725143 597985514 887647982 596756895 909944540 449283371 693919005 445556742 509801317 938685168 326590779 275877019 306608978 667720291 640810275 132789675 984441200 319675397 294409844 846382746 102019770 233910827 852455752 726678809 140338058 922544648 668386061 807463081 967966354 385263023 720746995 525789560 595380768 945753998 802056461 682809961 898788242 439247900 130833690 786350929 353602723 779670988 158534768 756693116 472361668 949045263 488732298 773205655 477873763 912162306 744755762 511562141 323371382 144855822 859213758 985732111 317083579 398468952 835849141 882902287 166381965 759514001 166325503 108202735 733285300 613905186 361836960 582787948 651995688 694562055 691302224 158622611 543442945 719230091 720724191 386393099 387530379 707145765 814194584 608353702 947340208 805703412 349089075 832642504 988251007 480227087 738598787 337328672 274845703 449270260 699870962 957700241 747771200 258697348 803399314 936540884 127922287 934007095 455008947 382488437 999372768 535274632 394750848 392267810 559592797 194976327 982240430 156354697 488580206 165161258 921069441 370082975 786151528 335815647 960359069 652945008 817292412 883827983 313006649 123764213 152602608 577766644 411988628 212236577 296663985 126582755 895784020 778052358 886927544 935558967 342981203 782325853 102886875 976097652 751238648 560900532 365907378 257371604 194545548 719646301 364523871 814708358 435563493 943873917 810858648 191237290 704990689 128453951 598285907 917985401 320869160 310685846 672916422 891705317 813025428 263752561 483366550 353194740 938617098 432910841 762367528 790268601 784051412 667903719 709300739 615683338 775475614 577543744 849802385 369105745 215827688 841111639 311055536 852123718 296671674 519731252 387730088 720988226 878955129 427118093 626059826 523047485 192002659 692611289 780819208 955582653 381509433 456881714 272087347 939407783 768229234 900668098 453967561 312335387 444238203 436116301 684208200 218643088 907605184 266611249 603093382 405022776 800142964 113426080 327520976 184635619 215384791 153644209 374497337 767815449 418003534 236136240 964591221 329029469 183950300 307939656 186082178 758485595 997791520 251101987 262964431 295120950 597403631 877881094 384773346 105382664 275414307 598294797 639055609 403721385 226773413 879380102 800753894 271981028 388011800 447515039 453198741 523868020 733645211 999451753 270892996 296908688 869677109 384520773 582580878 331035251 403450671 767777497 847745460 478255288 180020861 265899947 962584737 429365975 117083279 246274987 438505078 557358638 374608947 710615455 442391750 898273540 997147126 256633290 510847857 976681809 579736473 468506866 612418719 607559154 121161071 877713193 475045388 464225479 762814590 217809298 986947150 171011754 463736650 970600175 122245733 235056086 153744549 158606424 784547228 431006067 937488697 718840598 464212661 228977598 717949686 925616627 941030794 489209790 454318684 848061800 546500148 621092190 103112090 940177666 572875494 379170007 625875945 901714988 745706134 735967080 241955706 495814029 717313576 226312402 956779999 637213680 363869856 756642251 354134028 912100563 769583035 325194422 644458753 819035042 795876666 480296990 849811669 887782188 729039708 804637442 365696033 874458405 730884061 765967210 962683658 979555118 361653721 542454209 957209446 439030450 181906947 415716666 106203508 190595616 908496409 842703785 699322245 178919081 794914698 946298847 757978070 872034395 614036661 459078315 696000279 211431682 724866441 825132224 592322159 938938493 408059813 347705985 495574081 770803372 691831190 123994470 258609868 324379481 798028542 274438727 581471871 434772032 989394195 115167554 777376893 436540479 467615915 940305448 223348754 227092223 702687440 326398222 399904269 220165001 471756640 224508543 639470280 557658574 695480596 417344644 359745385 644383442 380354664 860496087 733327639 701163023 984556383 574469143 139849813 200035358 831523149 794742484 494213667 815413556 185144458 761856788 500091155 483766483 869157838 666001164 262453340 898593660 285228103 746253169 235294502 496032066 108566015 308165156 356174441 366730361 178230840 495495702 459401557 760776287 211409807 157038983 749243106 618076127 410328101 931624432 800518258 250958007 975911763 861081247 679308043 233752721 710672867 553969511 340932496 174566370 923122350 935056575 726388481 868364540 882058910 938116503 502349185 470738927 266923187 252949180 315025485 185212106 359147193 123014816 297188856 746719680 545866008 886379748 323814478 492523151 410100192 508530596 693913738 143996628 916255223 570783341 489365001 374634696 873778473 577411743 566828351 597162846 628621285 205939489 715724825 879826150 862922997 555579880 592690467 426367615 582785745 644163036 560534698 259517959 149116514 725165810 855240265 971360039 882562107 118024108 625706722 397749964 333958224 821856929 862999738 753323734 198712644 508999319 491994022 495330808 868786647 824936897 470964826 668387270 964912443 389463081 342942974 560491978 342609927 205612392 390541137 215388006 242960411 863591360 657131106 581085392 501105772 813667755 102029374 599357163 221013905 982870033 310029800 655537779 480494530 709650685 618754935 513399298 763566283 438949692 884443478 507955320 685021718 762065736 705036924 559893515 694597677 799545707 212967093 193585493 118541590 452833484 601164787 542827383 220518321 487648196 612454015 475461422 719473140 579093266 900771849 424720198 517528744 755900033 241247027 428512870 922063230 674880823 311364935 239557974 535759425 528479238 609118677 858625903 518885315 878786837 870663255 127755057 721329593 543326340 594234376 175161061 375182894 545316283 735688497 295034440 951926403 859687298 493432166 930001037 677218698 561609449 578721180 298793441 409175866 804146301 646504115 847488248 763559875 764435163 624496372 473186019 553714267 613938634 970598971 604021963 571814691 371300903 181483114 150323644 720927700 277405986 408191007 634147449 533971278 827024579 962051520 597034697 429823298 155198549 717701137 676019354 692344764 602665628 651494005 156681910 827261644 842595462 158318961 708357189 374987377 601772990 867345706 220537985 911022621 148770956 267079640 772791972 766290709 951558193 296456881 673273910 880057341 677383392 416984285 446452557 380235922 208982588 487549773 249081739 818932516 381282661 871261886 516839440 707499947 226248605 899776253 127107169 144185297 681427470 938063851 361074603 754542122 531895807 674394927 929733920 298782522 514366578 794945906 515324233 363200769 229352242 976104662 375003267 149477528 336358980 426155348 117400279 583657240 944105289 518647381 568465607 788750622 426677405 935576009 764201208 404322954 576575333 311024775 392061006 770613431 905127682 596900381 991479870 316988585 151245419 355197838 525646411 923704791 857004856 844160130 460470901 282053778 592764104 639068868 319086919 450522771 470525246 500249354 524130131 864721525 474684539 281127812 656709179 629432960 573675411 550967556 262102246 924972336 548572191 758928016 993629396 327948192 346468687 322814480 189321637 720313933 746816256 248769313 512887055 629493073 499435263 650507884 137500178 885392308 678289291 843211638 202201943 179126889 110260296 256967318 837990999 326071586 520837643 434162153 770469751 584509276 915199637 922761728 730894448 467819353 472862881 925703040 709946869 915610330 971103987 892588982 723845405 297872486 968792301 183509058 419655855 168830302 447650256 260062670 752879112 470390697 344669919 238624600 299171907 219715235 599582475 916103898 654497672 336337715 367905738 701351387 506111737 810207080 636076017 733910708 612081409 339622872 383854362 290895379 602254708 302158280 434074010 296937276 306436203 139718511 905237771 455928692 361469594 187905764 192750390 139069972 323915226 168714745 107720628 659617441 486929966 258468201 948085298 735961746 344019483 388652711 766492298 677007439 366778095 922439674 339448116 257367629 965918114 960184580 647364089 764467725 978888541 669685886 235306602 248590877 333255409 952668744 105886862 201466646 816132703 516675652 463837293 267505164 321790258 485791873 320019163 751361564 874814755 441027914 423358511 834371235 725174487 205816241 414479419 728102273 669094715 556156950 207093219 374094520 687491980 724140402 124399475 167912030 711314559 942924954 914904825 656235632 502516994 926088159 559212119 696100600 289743820 706471744 993824089 229652454 937775724 298392623 162716100 411479507 283167050 584237224 543256770 176634461 787976874 251137809 995049796 558385908 545021915 226749931 980093716 509496742 492355773 562599534 289545438 316939057 650445050 901069033 526876907 438080888 999386854 436942106 886744146 318998317 572638898 212851559 793284933 225415940 376665798 589217515 933290001 262431884 107751552 120272796 974179121 868726398 373843248 245944721 868364159 347465834 253663594 338104645 229667496 677797037 653887174 804586460 570683385 534688095 853942592 341001876 396440572 617827899 874100453 621019048 156194670 196769438 588021443 430175185 665489462 384959033 610926621 503767979 909538573 210582600 250681490 872706242 656288446 895915379 596783817 459944817 521604899 150979713 404075291 234390135 137390446 322300118 724178088 920827339 973137703 490324681 719535066 416662442 672796433 614654838 974534220 759376389 871846621 606028590 244774269 854252535 596076684 827310743 783091523 483031859 313273336 534410157 152266463 545582196 668740693 858603618 771834396 303920295 924221978 343604438 167001277 220178602 495120029 367177113 890045151 901115876 343931540 984709099 913522414 311136212 337585125 619780599 571241588 450666280 801672235 552571355 519417342 360734646 117036107 859458082 822303683 223807658 256834984 157567930 975018652 391414877 324358665 475369326 145209952 285166259 210173656 228468528 119060634 843909570 907349464 133669669 652831640 187585397 241200251 783512492 868036966 674118836 660038388 160460545 428384700 155418414 699920249 848324953 682553433 711575434 607550115 842362741 886246796 759062106 835881233 754948117 923955340 914161734 834135015 842391380 502955172 726972102 280046177 891429163 709494745 320010876 715845962 717863673 858007255 713714413 952703903 190164923 263806921 252543224 982927679 589370247 697371636 153993948 322167738 259879065 578547765 896946833 928505075 622627434 248217712 176091375 991826028 751631786 971593034 196886272 944069061 186092294 722808233 461666693 869720896 747337552 169850637 156554152 272634375 846051955 214550086 732970248 576508689 377768929 983225370 522561587 831971985 309065785 628498683 174944439 401787198 774644864 741082530 466559317 602476648 245708310 901450456 402161269 795288215 800757426 182933291 295492018 829139807 433454037 198298896 843066209 865313891 918653792 304788958 280030836 430132706 686157578 459049128 937656337 476729257 996927138 802452954 507828923 667283711 637683854 818046002 667337659 167752903 651664029 931749139 369199370 456305463 733800887 845839467 170816819 871300938 472333523 550594313 660150073 554203231 328606313 472859125 504639759 541574786 632964541 168018257 651839167 605550239 929562139 626615894 237156708 944805521 249541513 141732374 771949618 200940545 337331704 172669285 772931015 606736100 925374419 385449589 780596676 536383445 274615161 877514893 604490619 181657236 400085127 939478718 853847214 520293243 480633857 331724081 710040184 331881384 628662776 891884723 544213015 499739402 841588167 393276696 442657386 131561337 150897705 908267031 744071834 818584498 458453845 496407706 676365672 128206587 477375651 309076446 503049326 180322676 106949273 118582017 906602709 646189806 279228782 844036816 554032026 994873832 301121281 108878343 581700169 801141217 564908567 745830664 852779233 994167834 383661154 796485122 762489853 595760881 834863099 465940130 289678749 466348624 629817064 209709130 316498584 664888225 430855591 257936187 282776698 111661998 483574838 660576448 842367032 834078943 781121987 489119916 504113764 782577330 592670931 488717547 647532897 246808153 981942398 765258011 425989545 932540433 976988721 855105284 853480215 806697300 929489899 137482762 944668974 890308701 113768261 891493087 570345675 929319624 479716574 997576207 818507015 462311853 349023387 743050734 311109899 685858540 891748690 114407979 135688212 350773252 684070048 206714713 323784886 762067933 188160591 497543690 458749625 978235992 275121789 933639283 167866946 275650114 536700242 912974782 997038931 513693939 892711289 532678710 732593592 770594662 960969701 733334389 358250499 271567355 543935925 238870613 127802671 902822673 906964147 939585080 919210825 604613041 918082388 787934866 745059128 879870966 494538852 476646405 518298178 215333846 726808031 471926477 655802864 387567061 105134758 859700620 550433290 575989256 930976887 463875819 871248006 387009210 195827839 223695757 823810777 519344789 419702351 601025988 896582779 259315579 792313813 314641164 635446603 255238253 858697331 273313792 617375939 780309170 961274469 890078566 999475704 203672823 978023057 878087295 665354471 548445338 324209580 103208421 434444215 890741386 637615877 923284752 790145874 868152409 829902817 560618029 376159226 650430285 605581206 865402979 968225933 544466183 710475299 595938652 225417001 300584244 421937679 708150351 675261001 968397838 199358578 750758550 681625556 698528827 736824705 764358280 383408872 732460977 177937132 832859391 668189223 922267797 179466538 133611458 870608677 671875541 958850894 611604616 999612654 612776451 809344033 874288093 652448911 837724582 686459371 503825101 745925957 312992967 251709960 279975178 382101440 940741912 898190608 874873782 936944312 833591848 695066191 815698089 778312471 120487231 582797620 137143655 887332577 919025493 477275401 742426120 852506132 844251629 261581019 973242619 416431659 318881374 549991883 544260717 307955707 124130984 148625513 201077486 785004066 247181043 300213079 791972295 261720923 507885995 267861093 913399262 830820478 153363992 807245445 231381474 307028827 941365516 577614507 993405249 628520219 832959286 776502106 452958128 997342311 996993192 156123996 471811597 393129999 176397519 374224045 485490299 545777967 175710627 537320568 791979095 434112131 303415250 484860343 961312384 439346811 638095274 626055560 303217707 374753002 179558463 561065447 959856223 329859285 239516973 945502151 162347923 757980548 235871108 698495214 778826600 294832295 911487997 828534262 631193459 527531728 690598122 520176525 761043325 238348903 569874066 614872322 219315247 686907819 692042953 935261019 963104374 474387808 432033467 588009406 800217477 725864256 531808155 897747801 325687904 620355354 735618021 596430382 575105111 524560546 597204570 865930633 632572840 506583697 550719543 772557852 434699462 413194869 190679613 976153288 974781691 483685127 657615322 827309753 344145087 609171019 925760771 521902330 181810321 559936892 349544265 183680093 624554279 327098102 951048450 781013673 922154289 343984649 122828780 281384912 203784747 647239160 688070656 879976696 905903797 934367869 622215415 689441002 281335292 360217621 748151864 635402399 818326070 770269257 757851692 236488300 807873113 435569645 844232742 641912789 970744015 212111309 614874932 450733891 347252154 764470357 449318997 315496005 470664542 643982793 192267091 417571269 712385051 569365984 301671639 616262566 788969159 268806693 870940001 320187721 654240164 308509213 860501255 728957484 151543890 265669056 629928381 267815050 485278028 811290105 964473306 561639758 272840707 994791120 127633380 234341743 443629246 621162433 969578028 373081105 382431152 235943211 954749887 551799220 840536124 763927795 745260515 652819298 970286756 430102574 914801108 826440112 937416463 501677717 638935780 686172808 413834851 160086645 632280452 553265150 371021589 661738202 636110609 805544129 849133750 818198876 582284179 560384581 952357557 482543342 917274662 805085591 777178567 580849098 745410136 243047357 584307200 709918919 265669675 107135632 207970761 105135280 429755459 754833557 329912119 170830886 192873838 426854180 115133209 596065044 757330812 356221642 103961104 525207245 859572383 149177033 520104047 943534766 994652647 499571339 795937946 547524503 689894905 250046535 527339311 789379227 434547084 145252125 627997145 216635537 335411910 611394290 345580944 474618334 387970332 293916051 440418565 229420523 614934820 632308338 292936566 453124770 632414688 482294776 510265254 888076231 491748401 390598715 470473047 134682524 436169582 790245120 770781867 113101506 365994099 248176604 697342348 765469898 805078794 868915844 804361983 277914366 111536686 923915333 486382726 395140836 189148650 794312081 418552079 201234632 216580717 783970789 511372720 837934947 504278462 504987567 924273280 856636551 381652161 952694422 914612674 310793982 390544178 726561685 699085173 641140778 288146491 174766636 462196762 577669984 960737364 234425712 954744904 771989653 638453293 421868260 299203078 176722996 722274772 448050981 305637271 830689316 823621010 153006641 933398638 823206636 788474504 757487337 442402452 313246739 984147912 938669422 268764379 247318486 569080478 615044682 107265045 823893572 553933906 732132264 767736683 406211057 874051450 603116185 339281485 323519077 529572975 646464441 767454978 642349444 347715563 879737118 544655030 773690605 794755305 514600626 124550618 463853206 403837693 513763131 759554278 497398871 792580480 559977337 957159644 666194091 955284020 287101958 127057825 370187237 629163624 599317176 518182988 205821541 667377089 270023922 184209768 484036151 442690350 243618609 954282734 778459856 760545582 198337020 237638108 980761959 962444662 201081781 657617709 512998320 564142772 699761859 588896073 857666321 305207060 758066100 733463044 287176637 358583223 768400719 273983366 349605823 144239166 264373466 593748871 995813028 584940698 617081843 567737653 896353804 545701688 754984052 814778103 916514456 436216623 150742920 527324180 699496045 170858827 189470537 743179425 686185198 194351392 158958695 752523902 676584647 176755327 167984134 954695649 299102668 995367567 286800020 149967398 193430062 622503734 708468135 375808195 260877907 121541961 301667100 561871376 579600595 476062473 802428595 261529875 319539335 104674561 929368571 625835071 239130792 326364094 516996760 719208474 891379662 134291106 896925448 328785376 460483332 134555564 497486959 336427152 142240483 718271655 941277041 264822067 244200092 806879300 567356113 310621162 695853870 171711477 952334993 903911018 329302154 189129368 760319358 858610514 889304387 370515950 269904095 597155538 545836771 333613794 383772395 894328924 681911422 831640234 680208556 103783988 100520846 557163683 863102148 864305916 485311994 429787331 418722434 556344100 339279118 787384322 549513168 289934515 549914562 969681619 746952120 830591243 107898994 428409431 642099081 263065262 812534888 951050174 276764451 178025276 420419486 501046559 604785653 200610569 752728067 261530699 896344994 269477893 269073624 819586536 260373064 730223326 726871549 767356437 502124693 797046630 934803697 445248648 240248279 760827322 635279396 320691537 938698608 115827742 984263900 166591174 880258618 813139847 151788762 302591826 509576304 801505101 840103689 775774256 620638222 948095076 572479273 210570554 707096483 162364303 659016274 956457406 217300146 983002447 128136478 179376278 366408941 161131125 471394757 531584043 317181519 278769943 713666728 388630091 355058331 352153211 193674079 366454592 703950909 245709104 309143969 827223544 637719677 540377458 525836521 930151962 956949848 837256617 997147116 535228582 412295547 124824792 957701525 976139858 385164372 798688271 365518732 518079612 821024534 839804732 210927822 970411696 363596125 127984125 266221898 161466740 635465951 359370600 654443208 204049590 886112196 758515412 729895693 898639493 708163887 409756057 615646106 287326728 475806106 557342500 821534887 264086290 380571211 455776455 402863091 711559611 111373133 683564302 595652523 511233633 550074656 608601606 882839427 289660681 208353683 653922248 717200220 198183909 458259819 506322816 583702273 866137015 145413814 948177050 383620058 739438180 512075464 781393194 783097497 848518112 547883423 960850327 259946625 951162385 709741734 840995240 373273140 961472788 527906028 818830383 607100241 695730524 635122487 386093270 131788475 980380995 397781980 447949553 936468961 128333781 249989498 957906298 338468912 817082068 982591762 305754224 401997209 529589626 708462778 778601648 753667460 984817873 494280327 626567592 720561295 297946186 811043369 706898460 183803755 300964058 563319332 815947208 774588450 818379632 901833405 311724264 739902190 835152404 261956284 260518293 757331887 577637265 896444815 740655186 340291130 870682908 489709382 944664587 312202967 981727322 862067601 151780236 676703486 784673407 578423901 660038118 346953706 685765553 275282042 212884642 767920344 530025790 957979357 552451290 301751447 447366329 403345206 803319937 215148029 706471757 954013261 719876361 878305020 805901107 547379560 456804130 310934526 612595408 417508919 252434776 474382507 989572298 417408882 192263987 316186130 902249793 618331519 796935384 674616057 996717228 751680007 942722691 565809035 176368454 656240858 429577672 899427737 302137374 275773175 146190071 484486449 488976314 507093070 656132570 591732831 972950575 970556735 342838906 755561777 186434155 583947967 216337746 716943368 554377897 440980785 178479165 623513761 993645253 719327362 869779895 172129450 539001193 541191910 304579463 529279117 691671844 760462162 383637580 788868153 300160798 682798530 641297498 109784047 904197157 139626882 440921859 472843550 720737890 876952483 607719183 958086142 320880520 170167874 870837830 918597286 793020111 489438028 854492428 602652456 950980797 260691712 281842492 189521374 931419515 338022143 722857828 302202699 838471627 246867219 404958853 366414109 475121824 255349127 987050815 211611469 936662418 891322415 625742968 716053101 816766394 784140517 272301884 713574964 619236974 925576893 337223129 274675175 976131790 424252697 461417123 461964190 846303412 705868950 301402952 614562786 925257369 855614344 756076884 168056498 700782449 202838590 381738044 999017989 987251238 943498816 924718486 402909708 884524795 547756551 888657196 416709504 675357576 555491115 519630226 805373699 539239928 134348552 453574769 155906776 727607461 260971305 735367047 386390298 390113027 321313955 860090607 194382647 984098576 660004682 228145963 244633909 984880070 908276770 637631788 844353241 819112281 192202826 892680335 995034855 856506176 645438399 328811606 274822877 435577975 459625906 223942257 524367513 860205023 469351998 664000140 796069035 911961555 971051674 416731056 139257341 497397382 844437579 444388423 842917828 439832530 370575755 624257285 103768219 190865343 760172724 301974996 836197305 868830045 553661689 428126655 108915878 924902837 250658635 270875259 706978659 454588145 866977507 310199587 394575671 565494993 408251225 673837759 210432011 737386041 988857472 945094969 734809975 460054557 426890357 226547561 991997659 687218453 686098986 505814641 293863242 901003254 965135710 354683134 443323470 949331679 665811133 749926563 627596317 406983051 268382721 391382691 440129115 496460695 126720122 238527787 934952991 261992898 443244094 514830027 636533502 549621257 657686408 479307827 820711705 112955281 690863176 195250057 560810355 173165060 328826662 442003907 540311433 957045844 577960863 907361555 873911570 861472382 160756371 219616546 362070246 781937601 130816253 311103876 217548639 938249701 519137872 411417178 881154084 291663167 812708594 191842070 812291214 460249146 672065793 622250647 766778947 789687940 594081210 943884029 169757762 481256834 318682721 565055460 352100664 226162215 543381041 478852916 690625364 353740178 501797769 500684670 255730446 773103107 253593414 940792303 679527980 479388473 793773611 534202239 329581659 330068274 101979500 397957316 649728152 473514859 791960456 334390079 561476845 899888861 645017188 557391877 147528418 545094164 483228902 102917751 385002529 127485485 350458773 175520796 328918800 706173559 808165812 314498976 282024641 889250362 696424266 603823256 240613188 240448067 280333038 877971604 896657912 925847842 335836037 562398895 369691780 907209598 334292330 221217848 815025219 360926845 326421111 759458098 182182114 984671234 682155177 225280032 660245387 991807519 216700112 593163210 773054284 266105266 536238083 191006177 236460564 972404427 345649294 481492997 587775661 416626870 764440161 237392437 120610313 318263082 765006134 835079562 227109050 231181649 722072562 612778015 394576663 927184554 853926536 500183209 807266396 557799129 161913543 322366031 314084441 222628608 247030401 314018367 573583213 675894423 981765719 900322238 119191506 525137901 548897442 976367606 825077144 792432961 426836289 134330992 494476387 810702309 954724442 428188337 396104712 838573753 919314107 406915103 621940390 939972521 425192719 902445838 767649852 577455959 439121063 159819541 921956385 508556981 724842194 750042927 574140232 450035046 434724282 674337872 551780658 956013336 741831962 864992556 352812012 709168761 109042657 153922140 277506021 568920263 143318537 781812159 639824485 884306703 972376617 416227426 939405466 670329271 163762189 693767959 389337930 896859533 967914095 790072029 575491210 108042121 105573241 403962561 828197531 381654276 656404107 822385289 171054630 175577183 309972840 549175285 504484540 472203001 298679522 153294687 470428769 634079065 531969493 703244323 347881307 730426931 562354850 278741275 400054263 861624432 836382616 393764375 476328201 452906241 800565469 209605908 766055791 829577176 426682690 961397394 874983625 852194835 531506653 670319492 891987904 946386033 986726302 962197841 933262078 140963887 182785168 323530687 162534014 655013943 905691436 492971211 873227737 789550769 702232242 724268849 284361682 238609793 784143931 208024480 637786825 568996886 555941792 454775132 562491920 385410297 267103170 963457884 921834421 352185641 917316791 930441751 258916996 789891698 972567880 339504046 852083672 430352636 973746082 891079858 438337078 765318989 975420053 330200329 681247010 808616963 721466419 352508507 892886282 200421560 803745524 611731589 547297165 467076747 310765767 514877151 662085957 512834446 759971512 510559700 469712852 106471298 909372760 689804929 942173973 633712934 655580438 796195790 493747145 178327614 467299264 404156201 523079996 301617826 576860469 224359976 470324761 348385616 343316706 128119052 563972563 192024774 376632505 577571102 564654149 361598558 242084226 470236025 460995967 440341833 230747443 199718585 114488220 944583560 823633846 764213097 808982554 350717633 314713389 858184766 105274444 771278860 809971260 777867407 420796438 126392638 351357525 401829839 566683347 241578281 415971208 638617088 192054545 738302958 182083172 758623601 512489202 945950132 411596380 769219702 904395643 886028371 652960492 669075788 553150718 556615960 271766864 773806424 385688390 199737305 359348485 266853149 444053399 525984111 817123572 854721699 988905666 803615485 245946205 743068771 581008254 399541288 613934794 333642611 381412733 141491798 541094002 832196866 139950293 161980030 885236506 284552600 852317623 410129888 111941115 437570611 962959086 452704141 552653022 883442562 289496573 329670221 982159892 563286942 819498310 344076515 292719627 297806131 830157353 767697430 679473196 305023240 455987196 511473229 950882071 892993853 363275125 914066248 891860468 854701422 174190755 215518377 826365054 644212780 876194862 312323519 457813088 417169256 381289036 956130292 561800297 665084764 378258799 254421276 397477418 145264589 473267849 786590269 101250095 631511997 361367109 521628377 827477128 969523085 286505000 338645193 801248266 975509392 662394129 983961423 439044144 433500101 241310491 360274412 773565133 281509269 888371924 148209229 123858197 296451333 267781425 505819659 995193909 501429793 131434908 468550454 693420359 922020302 912062790 849008049 533619948 116062197 803459936 311308309 607337896 600891484 403237392 753961977 807223769 683272842 435104122 797989684 804117411 544553785 805501183 852416425 749281156 875318412 488247202 868075428 440072682 727226276 593430365 798669015 639403585 970328228 330525191 698573674 714452035 302631484 100187519 525292343 337986389 150352658 695572195 318305015 665157764 965723859 852512150 147450290 184897483 324013706 276132603 478214356 831614372 939095659 333801969 623677654 648129626 356346713 907608572 907014400 995623748 825496169 444617083 240513517 966848518 274024802 872605861 262103762 399518578 686083081 404790868 766731691 393433140 147582765 815640714 636463516 699171496 766437365 831853996 251824912 514950687 166449203 806358105 661044656 775430753 519490754 426282317 930177277 187002009 809760550 838645630 376015850 986908738 485712873 963350853 138056028 664309568 346840906 241799009 888029832 920035324 229075274 514416889 647075082 338053845 341926936 329483804 560833647 143218767 642820309 475704188 196824086 759968865 841843724 883828319 421035474 547813669 958630652 561869415 607951013 920440432 696996030 687349909 568759857 352193074 622351938 664122782 911052214 671210406 699485614 951524438 472626394 620780115 463629058 217895257 572531003 406948515 890253810 649695818 242946089 951749368 103680296 320335933 277038188 977743580 830273141 863599958 247588950 711043629 589411250 697032739 182336162 955162181 167628392 100800886 814350104 502094131 626809071 257846058 455944957 990653906 227940738 145816459 136541094 630338467 836975875 504717444 260143237 651067234 529851142 316126973 149094805 922454209 507437079 200465125 655845985 178818547 549463826 101445977 306360903 269440485 278384195 841557798 286272401 746030805 613755808 191096185 158494396 403919524 834963317 524895262 636017272 728152177 600411219 428378962 542543512 677936393 657458082 487364757 431067764 156178831 492211266 750570925 413334879 851423675 462748725 923128109 774330693 402938523 383696316 391563745 700038548 789761800 879556797 932793382 635937759 768318099 656355833 431615594 754221372 762550120 939505389 661178296 265883785 970465861 254942201 516606985 825348497 532978754 792954367 205514664 423074451 503977117 308428047 651140161 103075855 312340988 577006857 368499393 235057963 252257559 960201225 113719919 372009449 907481187 534032725 933457505 580869682 149353051 838351489 600732710 561711954 518673902 505172906 908913178 914086748 806858349 980987310 293527132 940386951 642461816 867556185 366975146 252425145 973573740 690408404 899658347 874457263 302024035 315775938 226162785 121084803 654967960 313740759 235657592 991576552 218569822 717576665 682300502 655540536 331444646 663295652 140095478 419988293 231248368 837264246 983672200 939915454 528514804 639057924 978918127 709176184 176647371 708042072 858547747 646156802 725489770 867291247 558413398 428979594 957125879 557146942 292098945 343682867 572896101 604092032 509465188 609955067 465616521 659659612 554304326 533785141 481498617 778399150 954146528 322307905 342783631 650753677 228842366 476974485 775785651 148526721 213725664 300565139 382399146 902570609 134534490 667904887 321799498 630604311 431806561 283251735 986157855 145417692 660765203 965177526 206218781 747677809 414317340 520251904 382690840 823597459 475290955 698129429 346153025 478712425 706387183 779366596 997482665 782619695 174068367 190959694 651877998 839850887 355620282 573826554 776152153 378176706 200536038 112579859 721290504 306737775 268864427 485709669 354414441 676369027 135601858 816125511 906540641 146317792 267592509 683238869 337648689 704639735 956509260 883049492 527269119 375404904 194083655 978391909 279360009 705528294 173789161 107040923 674028770 344277013 754172521 964208661 387909914 720305969 187209875 776381889 708569800 174559878 227642521 754543631 159012534 591655692 206041296 662345295 559101993 624618313 684613349 850578608 727017742 750818756 601555674 418310973 667712052 528241553 249214372 700225945 864507917 797898788 502533925 932336966 911633438 457332287 883541110 974398215 515531537 997606207 672051942 285980065 763611466 260022216 628136475 726990756 797892477 441673481 910342231 766186554 383789981 579303343 122715093 218039547 653182603 712191174 215348621 518725053 161344475 870846061 498804265 995096332 283275532 918051644 244988285 346866767 261380137 871168744 899096686 665132335 512443921 832614612 282248009 330543638 614923272 313441628 279455796 155798003 149163801 503911119 609844300 255938230 504249128 649178118 258084898 902601729 777806000 637249815 198229263 370925480 324435363 561030041 428265458 598119651 284878647 499886735 925416165 747357785 402854213 223682561 442191919 559104630 184568188 269188628 911772006 250210663 384657004 283148941 981959063 991465572 812565033 385352833 779343534 484819809 244962851 750841927 990671627 881776181 465264881 101308162 151105766 324227631 328162115 796717026 741005326 220996258 527496941 680112784 764775242 105246415 384563476 176601582 667692049 133101566 447486237 699800103 424264822 185971885 794856686 203285158 811788342 969370639 147345208 151344545 895718852 206148315 434866745 182023967 587652957 966404282 133793418 514080681 440460864 548411841 616139497 610462985 911252870 222147271 741780667 974521010 698072527 760087205 580645812 758845671 658084190 460645741 523716579 194561219 790236035 875073452 497919674 728668436 547064859 883147921 135810731 928722680 922449089 776520909 621529068 688318103 637990654 697714610 908957093 196914485 568616570 902073950 213659552 709440794 795617878 453841249 528258798 728898218 695524634 811679179 610643503 287154093 149805308 754531394 195951239 263021380 259397069 682349358 117248117 161748876 730291732 847376102 990983215 550981039 440502013 808096529 808790430 862965916 133881155 653494535 314707962 627976307 350386541 377588697 166930767 438938774 725075908 704789948 155348439 755343552 363989497 288660901 327232815 970386759 676821552 432774488 797020701 839800119 188900565 585908133 219972565 676207530 138364116 374788539 184468475 292044756 257288668 448194328 937294707 818696229 671807774 175370750 230788389 341992683 585618987 380351406 631361430 869218933 429724215 660094937 517604367 800280559 483951008 975516370 713489801 420812426 907847363 148283666 495327907 975854000 782722771 887885566 435194409 583446619 177545882 200654250 868863106 925332737 328213203 515651480 484522085 935180225 993702185 960608975 502714591 142862990 947915302 634959618 339138305 330343778 749318178 165975041 341138838 364473254 861826203 817224764 531461279 235901420 795683759 165324641 178954767 410114470 422657427 964553029 919675927 632227560 626315358 145239895 474224658 276936214 686583772 857536253 757286757 545143366 839526274 729351382 567082751 311087365 903669908 816782706 740968437 909925702 284016491 742695070 529051191 865933424 879670340 542758148 220256365 305406853 248186497 592644467 887216271 393328699 801839729 589036975 679536039 943662886 762162281 423818864 983182985 297124295 124074971 438210585 574770471 856307569 844242313 349743899 185513550 671911081 187968952 808542656 735674346 642964181 712327988 724578601 644715972 298817949 769615772 167829869 818628187 282643035 903970464 468099986 943991007 393823324 675144807 144197458 305394707 488822064 955963187 707231907 379738364 427794908 958622223 878666850 931927047 209585063 812526493 366015038 812220812 708888247 426007841 251665121 426307722 984781031 859609985 710543362 721634175 631914472 122866463 191227861 439381764 600529046 179317358 550694709 197860796 394979183 148143545 847725310 845221500 669843538 174341047 302426199 980558360 563188707 481933432 961414785 854597867 194785304 790503494 685619715 209404578 274288707 603131493 410171098 157055523 275245164 214912033 895528497 960240103 495456776 936972471 639448733 205573952 640112626 114033233 452879325 560025033 254076669 221642634 534752343 869648806 569245642 389587681 876961286 384224838 507623999 564990021 803567316 660638195 697218886 190482335 446853515 841884660 538716425 305656477 755777043 275212101 174200688 252179041 259434873 400522792 325353724 128377263 259101428 600860848 591181895 209870150 889949226 770429582 509109648 170225564 944588225 311170834 885672204 161443661 264362289 703633893 109423085 781498113 288093593 624272365 472317053 704155172 735089703 108040735 792177194 350200715 523300523 835888200 724489113 329619208 846601260 929724021 280649789 652527816 129066869 808452247 118134221 931815573 964672952 277943639 941084128 839120617 551379576 917013731 722738904 674938790 538648167 664466886 577659287 820799950 726013674 564761321 814267816 561459040 834469631 575910122 859670621 776833542 727857946 491147473 183824632 456273588 593526394 696047127 176862839 389257526 350523934 393933495 819762210 782469223 144984611 789012823 425400318 608369967 781491985 967001179 566287724 465609649 519236031 187989518 726498105 490745357 409783236 249539579 778407014 441020136 586779104 306340654 642868912 135389228 817615184 277239672 681680561 101100040 674219264 205087040 948012823 866449127 934671791 326466794 957515928 360792605 163306192 335115587 765157614 952467867 716627879 390846153 353407250 148377726 828469915 907375511 796528062 787586970 426641078 727450917 557542163 239906703 395466732 894946888 145048036 318529312 439034195 659545857 183361716 747099695 767456621 474249663 186993108 638007206 770346846 812389032 309529953 417458102 143940320 846130970 693213138 193361255 527509223 895633052 463305348 952482981 572886079 111347074 148048538 206638923 970906445 509376808 163256124 323231918 891930679 744486998 455405863 777149307 388421096 904364052 258436175 158936671 459493898 874126878 612182983 733887219 252732981 936095032 584890541 665926431 713561054 328309313 926066445 342988973 282000672 964879973 642138153 801936239 169298338 216307280 263372853 518307860 596861948 938701929 704985468 103523296 630951498 410649135 346075266 765407806 599304464 949367397 441775797 920065059 251656457 403118825 821814062 793499866 711542564 135620562 851673401 590500509 289071209 963252445 568672593 438806560 985404366 562059854 271751056 538763332 351675805 483991254 837738409 280752463 116679011 302964571 668569627 653616725 830612786 752396128 479327616 732549039 509108970 489384875 879479458 944440457 529301447 209404310 509429965 951417958 339277781 171344154 650107794 298113475 505568967 503637552 389183910 668195481 735501473 121077242 138322181 315523753 965452574 816107074 356895121 696886699 855301642 900015672 224422446 720805935 668559738 269964613 888662032 160144756 633336915 213110395 752683765 104407263 597327107 355425600 199601794 760266484 883356971 160482714 363630502 883366371 571631259 448236380 512971412 213604453 352332682 699811742 310442551 169330778 688355895 206489687 306145555 256509370 398726384 240806366 845616771 549075711 274624573 214499178 605036637 416310134 207804548 104430534 227415935 891634239 825872440 803903641 600617625 907074620 784890266 538482444 861043621 152353470 351913933 953086628 571377305 991330568 449163600 500064794 501901123 494167228 339786554 656222044 873545787 765389297 462028006 320929125 395099438 523519688 804576572 925325260 787181837 612350262 146200958 164761734 181059534 717460558 926913917 387704958 761154539 440472271 228920235 464421267 354848076 474225854 346118793 922435000 891429924 570671343 299495047 903627331 987371614 531627730 390478563 871631778 372940592 730034224 415230421 334673287 469388298 405293995 786627395 671680893 945453892 902719321 686154535 359323017 354585033 512989987 697686950 628430815 312076973 512931862 658383386 271131770 387592740 496054389 147533278 722663120 402433210 439870240 622300859 610079189 605531255 411037381 428441893 903750156 839753929 599595932 436162185 610511509 629978520 430391271 583214350 166028625 367941207 419158550 275508217 574774204 851851157 701895704 841374422 765950384 643688483 296796392 757678404 871806191 979693636 580398243 764636860 650245738 224855925 493071618 833213823 329840575 131309972 496002696 477485021 302117448 708280845 469190594 973180402 680963983 934973345 701855472 489734152 450355417 708263222 908262073 961025311 532537863 865469343 904820949 422594431 439006423 535463823 932656999 299999888 364376087 938291561 819064799 326935951 688792321 564101187 345490263 885572169 887845593 539473711 250519540 932235184 933384810 431915272 621454486 265829117 562276201 982556660 886277686 276644250 936549448 674446886 602844669 554461832 374732420 778859599 484642621 276122034 600852886 727164929 552791407 310326865 328778143 741924287 408661642 361203866 715787033 276986665 842498041 145943324 974331181 514103417 768048267 983971821 362561387 803879590 174055648 456410410 266922528 421667188 798323210 605250938 803214335 372534239 443960587 249988691 934854752 366502533 123330702 893299486 438919699 538058697 876836725 352291954 727126852 452416034 159673171 145786081 211858771 271649890 463103976 558953538 245855615 760227264 554720627 485493679 489092006 977003512 433216382 125391512 139092651 788536999 878100109 904258536 336073367 209453949 161233667 425941884 200827944 863044440 887791577 967610954 499412735 496945567 504959579 743120989 705187304 707336892 703034564 613206297 625734949 891127422 663965101 188963082 275638560 472212240 321185093 918837947 277328301 175590799 817640755 799844552 334244385 532813223 918048299 308819697 226685084 407535696 485913803 616501399 721738578 174817301 271426434 480743364 334896644 290093653 463928054 266491454 494925559 670297238 660049780 810230645 988893641 259380266 937123266 989202357 199569173 869456851 735168628 915956045 933693804 190760837 279463152 413290981 179404261 116489918 834826508 756489188 293819747 799971330 716934662 822681111 365125539 236123944 295652449 980635560 294392098 530004473 460746395 971925089 790368997 422958260 959856671 714091973 786375801 267151233 683862830 767130727 994841044 580607062 940486402 289579782 190658123 767878038 745175285 658709467 211632942 402899464 135359960 684809959 846219712 412854802 564515797 748429319 351159038 935129936 613477703 333135902 132176854 576227309 332235129 434941545 407894164 711496232 301934591 707679611 722213390 610679457 627879338 749642993 494938328 163801481 862308328 707400207 370283817 189926636 991307784 816981506 879036375 764507285 222476401 711719916 621729058 462921521 429417143 705383377 750639991 752672925 175721337 172887046 784686234 960687295 287020960 770446060 983841982 423864304 810799323 810834350 504513985 438399146 671661396 557767410 403948539 824636363 573464016 622207535 864370423 970322206 969433354 147129125 365236137 224608019 165160766 744029128 894245278 793845008 966744014 314844338 113420088 615318935 936966170 168879103 637527987 315910165 724471743 375784135 107641198 487409592 842701995 296625604 595441392 465216791 955025783 971046429 278974743 395600725 852414075 768855857 679395009 677373851 988782447 684869028 782692864 619000140 193776382 330285374 116401706 394932812 364375874 513734141 779121619 907007313 124057034 231242595 388010878 504180497 869375478 789495638 765920534 766714697 399613443 421920157 962972646 926997150 684811259 809268277 880503036 896780216 428975336 206846166 573218574 861221612 694804333 446468508 999831619 738884676 447811123 216546582 929927906 209881946 328104736 138717612 404454479 162817577 568419494 197658691 939224457 673684515 767989937 178937639 523725651 137531145 260360446 125806676 368862102 517249474 623959334 444519764 115656138 666068200 750500846 534390048 401229145 212424555 664924684 799758378 463458501 689785318 624601674 815547051 611884905 706250777 225561200 696104965 858012140 979888147 928061256 657627969 697546693 996630684 109103430 752918404 716680196 523402687 893407526 344994277 316468796 210691009 899874680 785949722 220757977 365513402 879511564 140609229 681288212 772974329 744844122 620693652 560388752 490255833 372024663 479469384 287680608 396657556 797342115 954137862 503774177 161859660 350912851 883071959 770177067 462899672 913948655 296992289 879874836 126959375 393474780 790626306 580606221 167736124 926932988 374068651 664253544 989121977 953641095 762238620 522874337 657653439 817607725 521350284 933251255 738587392 382587366 578449894 588196176 110907343 879603233 905104686 804864590 105832728 261528035 428541435 142064474 392275165 522760732 627181132 590427441 521174430 760947458 958197298 520168159 881643956 938048706 652315400 884705339 483577031 565514226 230865214 554799777 557361068 387897619 431676832 533630616 287078670 628758187 286170465 215129373 134666347 863235764 394856420 194611233 802243112 127877783 688982354 479298756 392415972 136220707 296974257 160694270 691172625 297406396 263656203 324977942 726123219 586980004 724503834 349521915 503236441 950510235 642728411 154703496 964301508 959266537 285650130 426980530 757967201 227964178 380396158 767475808 652118826 733934834 489228390 599331902 511305152 577620202 172779740 948677950 465228407 790745612 275864004 910300173 634726844 293999947 780864566 147719399 421408132 664072145 332624777 329009007 611924098 440751648 230396222 150878008 283850866 430873504 159212479 694613040 690158249 820184048 861141003 734413497 717592196 903834822 421309291 607016077 182291563 632221098 860349365 208279887 652117958 118959721 328804507 924847046 116509574 432733358 811448819 273770955 412508369 178781021 892582458 692704723 513490410 148561070 670970528 443176875 932625735 798678394 234295630 181251256 834675926 274033065 247375456 189210181 738924497 825211710 383475374 695969449 958693211 517464943 692629150 974701515 843016685 528115980 318807703 157037222 609676850 215928088 929946192 838011018 976372379 130426919 461482138 867129985 988106277 196389473 220910309 783508152 123562328 720079998 918627992 641209936 731560883 636814846 800574307 619337699 436269570 128730518 925435446 477506391 891640465 830149387 167654322 212904249 739487539 977189903 668926298 774867620 160534568 478402336 141690230 711230105 572596107 629122992 719586159 265074491 288320866 859661948 589734178 967748195 861706968 137142770 609309718 130516340 233239491 839880026 486123102 709864985 333251740 402644937 459084992 437414418 196215796 744289738 814776427 417348868 835456866 901797937 707112296 160098099 404609489 292493047 596181061 884461790 691296883 521162586 161185721 785609680 528060361 933459481 492319413 825474795 417650409 985426218 963395900 759648052 460941294 867229486 565566746 242649966 901775942 203126690 666965998 865826728 877318235 508835458 995068619 316212760 593515484 107215220 542571861 152139144 692156941 421323830 331352685 160776934 824778702 765756403 755977197 204216086 298090328 588938309 863691891 672345552 855093962 583562070 490564839 438834924 498121844 569037084 885457658 300966459 881898750 463688857 628077622 774626180 358434730 609306501 354964956 511814253 916312017 148348963 801661495 589159572 636329442 894356953 301315135 970636611 607995712 202682352 922557603 418916406 346850418 795066722 741870774 316131695 162819603 180765947 511258133 426867258 114782551 764378780 977768423 898587543 871206651 426893258 763942672 808012726 633117048 778329737 604256669 628644344 666668442 701001350 823270662 154728723 398450164 101748648 855922788 286194853 128999273 175142805 550642300 280736589 700600038 212651050 650560822 248255053 929551319 484021179 910289844 691468451 113598281 375235599 245608610 120843976 515217056 861838341 528740421 244360375 584790782 673476483 170457679 409599711 160306815 362422648 893515413 135923665 298198073 104027007 963034919 250923985 410488840 762911728 153227081 916155254 350011988 595492752 328915489 440105865 919318234 144749072 353799691 510907425 353034651 285507764 460982392 931575889 751013304 529992457 619318395 361041353 485904313 982838281 999309389 220576802 879729561 705098308 152388987 785895233 581782423 487288680 710592539 471508342 956313702 724596535 618652716 207963925 677728538 894928707 938943880 755913141 833119189 478681830 147545532 899070263 892749391 285055656 893898385 335946046 700400187 896922813 202555006 583201455 519738667 760601907 661474138 180077075 871629496 197881792 644379287 828472164 677494325 430237416 672693426 836201618 208586557 513309410 128264311 412334344 287594406 147370067 387586108 604871154 966909558 803209309 177540199 614006704 792649166 198822459 335263377 230407726 202270977 830226355 645152769 314835154 476003670 519006923 347558396 423090523 630923270 992732444 250255585 472301413 788318560 683818078 382952604 882660116 651545903 981322522 654219134 236924189 441075700 332345633 872902033 522987837 170888133 661181575 960933584 908614214 399001499 196471885 501654350 659282724 893696690 817493980 446383045 993419386 304844907 687604328 573703152 488438392 564412332 648126509 271013606 193320604 915288042 321954492 837807191 391163986 674904872 798117021 891517855 223441656 950914537 854281749 302593803 852752494 671429260 357906265 402950162 438835081 489611695 458264312 643042028 299231947 604409119 585197994 578770404 989966673 827986894 838963174 337448498 410197936 590740220 839855485 540357127 261718278 226833442 670784320 234199024 390755916 581543776 322841154 273188695 825778609 844989714 117123701 659222360 874208213 316474155 437179592 109787601 132093635 340153327 196339308 387896620 406593737 328927752 258442510 285159513 561281230 935656731 416485776 662859459 490673245 592785547 527076495 751981207 274805489 558553506 158670675 883393819 541670722 356717375 983200662 195007771 784411108 780927891 699603020 374161839 638876316 813287397 895874671 124597725 512215491 277509224 241548339 293550726 352530948 405118954 138064710 957006144 710952982 976870210 627163564 749778477 109295805 842433442 520471279 885627389 769980993 286771655 157403771 751695648 769768930 541998359 399867993 307797883 737106494 928992033 230585100 543968886 477943418 411078059 812300465 540035715 819017578 416631937 191425359 850594521 834790903 977460020 221226645 420176082 777192023 883519861 876049021 142213422 746748139 397958135 192864717 627854326 483592112 700388249 346584429 481299660 902369939 979670476 806836935 381684298 247580643 582386113 108904648 780276582 434284513 531445300 225112263 219869186 307614945 372797327 474987316 895632006 923267298 879428513 403652602 115990656 704713776 175310289 967829757 490033186 465946308 483804795 410952302 129392296 630949159 742339573 927661331 813530757 168659199 176257191 523127052 145688772 961948327 387815614 359408198 318476019 754349352 995091318 147298731 452237955 770388480 828311888 783605779 749802098 464826083 599144001 378188713 633145750 653530021 611010622 741372517 335907128 472218240 271671431 483902139 469728310 654771480 722061171 803861549 241095113 753374023 866219934 432050922 626372896 158713854 875196844 282160083 151686382 982578887 918240530 733125611 702285085 423848609 306782856 188933665 587343567 616047439 234592998 798258555 803828022 386658405 134100400 905799978 509951438 245062204 356083744 455546979 323422980 629162861 575974601 268238529 364691085 969193205 590656931 484317392 708011839 131909504 930103114 242234011 326993423 269969160 135046059 672341334 352596724 202684956 982088055 887350470 596624634 538712471 125144806 434958526 910497810 569673782 350388138 300547702 322527024 345997209 798247222 580904283 858023222 250696929 767983991 153334308 854877257 578325220 384263642 969134745 637111804 142288727 636571332 241427560 452354631 243296778 636648270 721442874 965549171 607947768 612312270 329855771 543226321 563666653 223875436 896322134 581179622 752559290 497241356 543884036 713142596 322780247 515517553 190450194 820482533 241666326 485164326 510786095 581241612 770756285 954381002 725101189 113605752 405147884 363543248 789402816 579640950 544704776 909128265 920766713 320617350 332020050 896389160 373924848 359688395 450529181 701919054 137496980 331546067 303383583 907309576 196098409 973798210 724290249 684641657 614311665 659134167 231452090 166176060 892664644 774995817 546203624 797425860 645810751 967829628 786409559 319738305 984363211 784377551 449353816 708521615 661055704 482957161 880432899 366196573 463003044 359368696 946972596 963431253 513758105 794711066 797939135 220393711 909922595 478583242 174477018 230402367 792660529 705106142 201237055 319461924 497054431 813576242 786981423 336851837 524393333 923800018 901712278 333438162 777958908 389872941 381369041 951952962 900101157 298451425 129511063 161804763 320247069 585855357 603065700 698410856 358111037 129187891 870795790 739381832 168106575 546555372 882938716 449439191 246824025 729495938 602605048 507093396 629233760 487921554 450845230 955503619 513476826 869256314 580396208 579064655 390466361 345479841 169474745 587212766 781637634 544062754 791104969 980555520 229499265 848957814 914629335 249192837 258742453 492873694 745272795 901407997 104469273 362376198 289500261 608132688 729214313 823682438 471232310 257485899 855319506 786624852 667442075 206036575 983999573 864681646 864842785 629899413 908267632 845619523 527263376 652071635 429199168 429114773 719083469 186336788 332958550 351610506 632995473 622182726 314114702 544772267 786071738 122996363 769292985 765977789 557691840 557562366 471930470 693308980 708256883 551622964 531349605 667939187 739318921 940893380 919298373 441961899 941985966 108622807 191242728 200255467 399213682 650092350 380040141 331649925 267930093 164996558 352488408 361918576 889712063 768721417 636028904 870230885 809843986 870394299 331069002 242929986 303026624 778686290 674294653 143600576 791691835 778410779 118944333 935344181 815487429 583664511 179402540 818466791 653919836 376088252 754801396 800935582 828893442 768479958 808882970 625323129 227431204 672299763 303865863 304006884 353597353 212267105 593828330 513585550 376605388 245427047 151131738 726550051 590785754 412746504 188683909 385790065 948078631 820076621 633317059 544054276 981640767 146244939 818284616 207398321 748338140 689271546 691171021 407843888 810736560 456548824 416472545 281633688 251524877 363729730 767036151 571153097 516286132 230085825 917112105 453796976 604887532 171754697 512568745 482034710 647197082 774727867 360394276 650730218 511572424 823070434 435351373 896788249 334821435 390855447 836985929 444592298 719787022 793875322 285554316 292957390 425394515 249431159 294411322 651075685 767376629 616555308 735940047 756970436 386513860 603695565 822085941 221648313 842295377 713201293 347559608 636487856 267357626 394178283 309919783 410390593 726617402 627654562 231939784 154861274 255785434 237161328 816314837 913615506 912809342 891994411 936690998 488038645 967829809 684150719 465288022 170851480 613467988 458806586 729855938 943305164 917127143 541966166 266603775 703997986 231434491 399269889 199236735 308795864 907761389 552351190 951582646 595776113 889556265 733323735 663754372 349501456 361261062 119610401 551420851 329174215 379121259 493632893 210522612 338584286 946612735 772555348 821102000 767256018 827438316 210746624 123922041 545414390 743182341 494809955 789338447 666037563 399396965 275946114 685877227 307081357 761647863 469899558 846719085 343238061 483502676 514122397 257913414 746023498 957285316 305066015 758503602 310260249 676450073 863412900 238345197 232412992 445763884 717740079 863464004 867696797 534151075 410715828 574750876 700212961 612786187 565390502 175614974 414080369 594694946 168443038 903751569 886119753 242290163 914171517 616451089 135599982 940907306 372796711 505337228 610200254 924036624 229942174 263266859 730985552 739705870 874846187 427834752 506795103 987574770 801728410 358221730 833346479 631956252 568248482 714896792 601413275 109746881 285829771 495478172 438399080 876297667 956442038 442190976 900601712 357517812 410964845 690665249 959736654 756298590 122739671 490906280 696873713 477657272 160099057 890151692 219340690 190987845 859321122 678576208 725411453 551057313 742605956 854803526 472265942 419915227 631802811 973088338 666438783 365386932 437580937 424159492 289488443 897483373 684509733 664304400 545073876 236819343 918073530 116854872 762071873 727515381 340663199 656068294 244145113 945424988 270240670 653921837 275832326 979833466 882882781 959062510 273516212 534038235 357764420 836537459 506182774 682161845 634467124 642329688 683907417 933522188 202321393 877390120 557379016 527450287 432655543 585614347 808027048 722542605 999435608 314580428 115020293 180890810 439204071 230575760 232615401 884182344 565028592 869099753 612952276 945552726 501455202 111709268 193808325 789738526 648576476 804317168 321597801 837159471 571405894 961351233 485327882 436023744 735407175 432316710 610769568 291354061 431431930 594309329 590880359 807035351 107642080 453666509 701955234 855501127 676158375 295442441 816805161 134551783 190676723 318943977 324590958 513563346 367790301 298455032 370703206 515278563 221377213 804135079 383481984 913199208 308757547 711804202 881215624 716042121 777230529 486076665 856038438 315979215 186371849 985688370 401604891 320015394 144089697 674536384 612366861 608944955 724432409 410473894 532344472 461075250 832004569 974700689 959632353 603190953 102990810 695361125 265854777 285181102 221363040 256768862 941814800 581356268 829637105 665208521 916964760 194083478 644150144 825461570 333082400 685224112 182197855 944429968 545789787 713383260 403883220 182332814 116315689 900489066 679697745 730305582 781372229 769997692 853501996 584684471 688989765 501872595 349202461 230424688 187678444 887072126 720622368 756320955 912285738 195310329 553171449 933229038 268630316 314998529 424301706 577804732 855300259 792007670 399948649 504227593 424572342 162111069 317059931 559465379 977066578 221562289 873735150 250484843 133490731 513352008 651437537 440026804 790091926 638831027 480295530 760702712 536212311 953703939 774919854 894046584 113100997 592581140 887812870 559989821 555783977 708742063 455807686 281847181 175163402 119743604 125395165 576600206 905124388 927399836 930622224 765589726 276318206 697552222 530936838 301099974 669656152 721491279 649933553 690921231 661213984 184513826 316950374 806294924 196977979 106820075 284185864 679024977 286018716 705577650 128718966 609957026 268318291 523366793 773641215 580788235 819615580 486083076 386746849 206598109 708866371 442819624 935866533 129575161 687678471 919124862 308814782 877315178 102959185 556020896 408506380 301103867 991968547 890895452 208245795 964697636 843301901 386800706 868328493 131342238 219914264 224528168 199798217 711406011 366859325 422635868 268153925 492802093 676123689 272437837 999122431 178029317 441719498 726690866 432940123 505292605 782866189 272216715 409136531 568677499 678701035 163187863 234065352 269535543 146714188 764550259 846018339 248993611 344071737 186811536 138514659 183734792 490089583 755824732 848335368 222970807 715052474 255071402 263338641 141318223 414558821 400296810 374714973 882307313 697767336 401175286 212049915 174096478 394018012 449295661 519159755 330362341 564528920 110988571 380665721 552729838 112438482 594610948 542144179 931299104 718762496 953455513 230819110 727199689 744985500 513946947 858043305 603100500 964804921 651118087 702798957 740985477 679005993 817733047 847858042 975207058 930218527 579843076 612637160 385065641 792725741 877352206 396878284 596933380 906320752 971651276 601043107 149205410 640003472 318431182 692122448 710046906 729745356 515440120 309603125 251697157 684649662 554293422 797945175 827761520 527353223 565925123 519947355 272620110 998476697 228425078 674775943 143434556 678330568 314681883 739787796 523359389 626353958 193482492 519567557 287337137 817217573 674945071 780492326 166759012 924225816 615041318 966352172 146399827 164001870 614497405 448835581 332848310 407536594 625570171 949698657 892091120 297287544 874132143 173952473 316742476 972860212 799497272 117562491 536568731 225175759 551090046 204855679 844322615 231203250 948164905 403533383 251613668 444299881 232548055 150795188 345322749 564427363 790592451 451583916 133534599 638252735 765450080 483243212 389736669 254051439 297140437 865440436 233858609 873596923 193623371 970336371 650656729 546406337 187409826 431488149 204537789 345144715 305530725 125949094 921262078 204882523 398596227 971685162 539836451 755718714 167772149 551640553 348674414 761991112 302080455 977874581 590792827 315551545 740911949 486400829 316174015 163864322 121927420 617618989 937873354 152294694 250943028 312369320 287845943 682885049 379925022 397825983 862511874 633372785 183295333 415472374 857043045 784969492 929820895 274010880 606183717 499207913 353826829 453414990 221321146 961507179 753581689 420503602 332139173 304976590 742344649 771958765 534195444 386503328 293234110 662598004 706741229 913337867 299191048 271744254 791253022 256445558 261909493 812738194 757472617 992025339 115447098 508907306 639275954 884153186 726733758 772626138 700763691 951985398 830724015 296967466 181035487 836361982 643239212 499763358 367345868 710000256 678899644 940334276 964106979 828531387 421541580 824991898 244692898 104389681 753170174 858522999 424742078 414055519 895705406 283670551 745072565 191921292 195235429 825988650 817787163 176304835 727783266 720363462 679068033 833621646 788586270 897793708 348674142 380283361 756089799 665875882 513843914 325525793 290703407 148917012 544707894 139801429 389050636 891914369 960537374 806405600 630588490 117423153 600882065 772495865 867904966 345680662 322555161 743648208 697563678 960326941 220647006 735827360 496624834 193914850 694999638 412825296 701174341 675663405 717729191 837021576 748934147 211925170 454891404 240037127 725897551 503705403 891594030 660982678 315588960 846161111 410779724 402225674 311643823 546190060 623068986 421510579 409257036 787401918 909821156 502623459 558796511 538682650 668870356 709453846 924194892 417366062 624321135 247054559 871965549 113160790 196589947 384960361 244366447 408374752 935124047 888920635 589060120 481086392 991867162 781099450 130251742 220124633 730115869 439128677 191771596 455075326 577500828 320075297 955436703 396365452 744365112 851477315 117605700 909009597 840493574 564836737 896910930 671278692 316872632 477757503 373916590 828650011 994394859 565318025 765666902 400552470 633849045 232177643 475983200 132668588 573706302 764200372 282253800 896403044 752041764 190014084 771120702 819711519 992775582 193688644 484328204 135740069 653478955 106217165 592776642 652433875 442635720 728220412 142560025 229465847 594130441 892392494 259110419 558077880 322205969 666309611 600562988 941965491 107514010 611953199 259700858 506236283 626213177 696006051 906334938 305529342 883539508 123743424 511607834 105289671 894259535 584520730 187308816 875381802 661908920 133534794 235322122 662434409 530630529 370359677 559340290 245144245 150648842 847963373 474835393 121803475 536221466 447041520 762111242 970828523 447076999 315976155 872561976 905637620 786836166 778004349 234060967 229334720 367949053 548469622 709671219 445844707 840001643 103338051 933274711 189807739 881158082 875200088 771032444 187367537 108759338 305311088 202836789 229218748 144208418 741625414 685298427 833842635 509856955 889199234 710994294 957750727 523606770 388169551 110110833 996667917 511991765 306671982 450643546 911021468 509255160 429650406 230062763 960224259 503818178 258418089 436793488 594727189 166367317 461438650 392878291 213954035 819536217 305444625 588696884 977521853 577952706 351596820 262091707 898167562 284745232 613531539 600855636 985018444 622390636 268828514 343705602 582782195 607127874 213313080 830301672 481411622 367156212 657438133 297629551 446921107 151917663 651942859 147742482 555807152 755218693 653599627 278746715 650514268 595216874 307268570 311004967 307212535 528043683 127169284 870227988 241634971 341615007 668768062 987077920 341101011 356337622 568000824 196580351 829629442 576388705 990952840 743480671 921347815 375492739 370828972 269466301 547337235 605405793 734525944 982608304 189625122 700002288 815647629 328035314 966263898 875001847 612822960 580635655 434038058 315006774 855608753 450919573 571503928 867214517 197704349 746926754 192999427 926075584 208419334 828124026 698502615 444990333 681471308 765426128 744925730 986540253 392201445 818532811 196801787 124697587 790814399 831224124 729795216 222820255 524256620 568973396 457450055 340244723 234663067 940874006 776535715 385643064 926176714 701755180 959139966 266277650 614851428 389432059 721462725 163999510 681029892 706811104 727058421 730119502 786950029 997021106 770059011 877094154 267289978 701599422 574638351 755721638 621834350 582210786 297176324 520112428 454296902 117248351 616915370 256469473 154613499 125173312 439153061 161865782 267560946 231937691 661478242 410594919 741975231 968597805 989030162 283854333 335595828 367038831 996516394 573823493 567320131 152403512 325672708 683423393 137706916 530798205 947073730 581758322 737249621 665768779 998294847 683357646 666797313 151129721 836288820 448535571 707533447 877081802 205558524 139711495 316580119 238630868 860913178 783553515 214739849 211934297 161352024 878286295 275384469 675024332 279804728 341450153 500932991 434813712 534711284 878262190 607703631 300481028 405660411 456125306 694646526 991562444 425022858 971501755 669618074 827178867 241423864 827485138 204769763 353267368 867881739 836175745 241242643 132727088 892243213 885393801 327586146 687825153 998815976 959939724 207061073 167412358 831644712 567258205 584863351 237453295 440359826 523239494 303074318 494448586 641207319 652436383 748776308 898822847 818398622 378854669 968659496 271951064 707409236 707970583 843911487 231477495 738675086 572399871 750161831 382620118 356948012 929700479 999287614 501961979 877895286 267871269 682670571 376938164 232390082 433552169 379655623 302233706 466920369 814848742 627125450 215562997 944972469 449991736 852856447 323325180 134655188 743573057 255599730 251208243 814110472 439408224 492330646 267820722 976224392 920856061 938123269 972546787 831105450 584713764 565501046 611629739 524660871 355941908 813476810 708165580 588625772 240253654 483637734 759793616 731661219 466347327 546267639 113833896 422927450 197233544 119457917 572305771 783051642 899733042 916464127 677544930 284066054 735749541 378285845 789977840 196161062 833102312 903187714 992479863 476636957 112836736 700507919 754992712 545369218 395777852 115075651 882554484 330088868 370140718 243541536 337471575 699557495 813015795 652974030 668358967 355064396 376977985 493888432 665073381 337268135 388091082 208948161 439267252 126062169 625662559 980321511 437483870 293264601 499410579 898116898 760415045 142190950 801853669 466372043 513151410 649182765 570167839 725064365 446772812 882349293 612675883 554805928 350099361 860216266 164210467 484744385 184487552 566644275 914438977 799155844 863358074 226318733 968998072 744997523 279723994 602820836 218734621 488901448 173867538 291435058 888865353 776192773 342908981 915098740 629251518 436260337 546362612 144631939 913630683 480351822 284813263 709474041 639660313 354344610 568439200 660530039 926852106 779653090 900475837 698395003 118399707 493903869 753763575 491689732 340947436 832076363 156032455 809454218 265691765 540376239 837824397 774457890 601680903 265806012 171884656 828116389 530668069 971042212 402216375 735171140 344172872 166226705 475906164 709593205 831816350 237149897 639823962 604864074 831489274 916646630 233120811 178862806 259865853 901451635 418449863 522066971 515882599 516965607 177322106 151667069 284367247 410813906 437880487 146391234 186791339 118276108 259033637 415587607 928535571 844611198 696047388 147461044 648845730 980847772 569029522 933126907 978878998 921142417 717058943 220660644 191088017 933108111 472071848 410534184 339503715 737882550 461400017 778277050 826853929 544130178 699138300 918729446 137297242 472376325 602839231 983664164 536430374 108429139 776943611 170584758 756337568 463500516 544724415 769940782 677896362 385137780 353265000 631056093 201495153 383179512 633318800 148156669 280176827 214001936 935081191 815821165 198113702 239559329 488719325 587304084 608807806 958806755 534521535 877226162 884853766 650019578 858592447 726109094 378108946 203274934 659505563 625885897 439580473 974728894 334995380 753192177 115154639 681546159 116384116 898761903 124150695 211461851 469831096 546277077 845964266 644694715 409610752 851101331 320499997 198146931 914045065 589362604 552740512 135102676 185640981 906422862 320577848 840263717 266500973 115064990 253370628 859929817 588522924 140208956 944487712 794001651 924326046 559779898 922682776 334572405 744674230 501787941 151049102 791940972 993920256 714549536 448325320 690007084 508531506 616648393 806408595 302499474 602790934 957903578 685284735 697357805 480863010 968331834 880497979 584892606 554185078 818158835 432178276 627244540 775090977 169472773 924468566 621621089 960120561 465341935 155254133 554112572 875289485 549149668 893195778 473922652 770505594 282697136 403492964 414560179 707800639 713311566 495353529 829491860 245359716 874129047 312071804 734248374 615247575 963280974 697114216 873101032 879418022 223594345 347478120 360726515 880331894 317353424 241647924 986234594 948640390 149140310 654226826 279927976 475596555 784593947 348959978 623523693 665642538 207417013 767858997 615186399 774996540 586948867 173510115 141338546 760300325 431550625 401525184 926760944 480682678 244547743 974590738 290380398 717478819 692474681 148844512 341643554 637861542 509676595 310680101 458466826 869264199 380879153 417930696 866992542 181153694 302547782 764531371 843155187 549911470 109168763 252949243 369238565 474144688 103281105 125805049 898135403 608231025 194203449 542217769 152203405 590080069 933217575 812094808 464857152 211948529 221692342 214436010 985012031 453567963 386859608 324485569 737207693 756226724 342177900 556282830 835037319 857580677 673503767 874148226 298191731 424789432 871330749 256519627 595395070 989946161 352467779 877212893 478385793 616329876 730297860 977818187 560227832 940083644 894834346 533246052 682429419 257756545 677977781 313979305 312481030 861827238 599160858 422125257 606682184 552314605 628138094 948830924 922499010 519609561 939389089 622947331 653553680 337683771 506081701 723274644 710732399 427121916 414621877 487108694 366406323 475957267 235132333 645043490 190836539 899587288 197274974 490150317 945171693 808539235 536074645 634720364 842567360 173330857 306909064 257176636 586361686 279436763 618462060 359833357 386840480 714986835 481213500 502885714 939534960 982691421 255036929 512018114 700869473 417264992 332986964 304936362 236798242 196616374 312040396 526081276 931000335 514705803 736247085 745077395 187574537 175233244 601897244 205249755 708107839 560394778 186267020 546203414 298071804 229926886 227445440 266034254 958149877 338142065 859804763 111744729 882526885 338939348 348617312 725349684 632948344 374791762 299233420 155222106 840650628 295788479 424019907 457449190 764063390 518626137 422256783 839293351 233846216 403587294 440191489 221004903 860766713 886934151 232492699 126716803 175193115 132807327 830904553 667159741 463045288 278035354 605166844 719597436 491802537 202742647 200827069 131072304 701241734 189000783 492132799 195997326 883077717 540549808 349444365 911887056 323230142 541583587 702176681 361541479 885436034 732798586 889627788 991402222 180423379 271640687 630823444 736190874 457687052 992763652 791354783 559336777 579476428 610869434 347876176 477036701 626295263 761900187 911638944 299299125 149472920 345521329 805493419 812674912 471815452 511794418 205774135 870784872 605768637 159073347 673754900 176540905 772100700 103669739 363674426 866918755 101013192 788586863 162491591 272401496 168345884 937480259 664834543 813868645 621470690 860757053 275489082 802599142 278251705 263253203 177318991 329996753 180844906 667318912 847676116 784259355 866840753 551233149 699885650 273877833 256666248 398794844 613041532 827593437 313537898 572677056 306401023 993912052 962455050 134610266 307007472 501911720 828775163 101881879 529913813 100676090 536197347 864891847 449665639 959971254 852830238 131449614 997018748 618808492 346134927 895333765 497071064 716004822 966951529 769907310 623864566 989396136 194100995 309720358 720618416 513929350 458386381 177864934 640270311 993276075 551662381 565972488 384928519 626169658 108102474 481704459 991763585 379793249 374718551 767964785 844302995 889604656 901354844 152426459 985477697 622204249 278959220 353923671 464006887 218345711 116746610 116421528 572761039 757524729 447353996 265209206 122714366 130920886 301291388 299034240 321492692 735042515 231263421 222727290 952831371 400508169 404833990 221666300 530668490 217874730 713114011 940416646 427779674 640555791 484612873 705792431 947041504 277937339 890479626 828847426 523342123 239205321 715337444 350954719 883399064 629907981 542745344 709191016 434434436 348531107 462992140 965899242 963857040 364708752 128983059 101811002 878654914 969974438 603350453 815059558 633914820 149844683 515921087 746488358 836766752 913790603 199973143 549790228 763128886 722145495 973646390 434985852 596532602 361200511 996540455 700772482 184328847 290700403 865983876 297263381 974493363 535703030 253130529 663642412 687849988 449921117 987319668 748459931 826158072 610461336 122812943 362927684 752789177 362829946 246268836 785358831 715034509 526875506 339578926 302526269 864769941 587299151 361473239 634237537 412562433 966801645 902709190 915587136 598581468 518480337 556965905 109547535 256739735 647294510 909251217 630933893 594087580 162611539 354506344 566907398 172148546 450165120 537981024 643810076 568691880 260940465 631795283 831654071 912499207 855380718 266313239 644408853 430864666 822433803 181257871 651333368 787633701 246805229 787812028 390119357 143222102 109678369 933442709 335179027 707167630 133396679 101074548 358175398 527981585 452046910 652362357 761402002 612273991 947148301 592440652 479432125 368265603 447999884 315769368 882066605 616619354 687577861 210773601 460596106 939065935 362803401 640021428 121579115 414015509 707379546 517253591 557441680 579399912 193195784 806299503 217360497 869435831 738612442 841201762 288596158 245383916 180468791 783555067 808544350 968911567 252683030 401669165 251844592 343257837 126451855 870303446 583798336 864262416 136650616 403799681 706625786 673699158 404746270 246155040 297707628 385100114 518072726 404602028 751873869 482431250 559591924 232316107 916518962 371103492 565254809 995623170 323108922 120269129 960841761 848675390 426600208 530708184 943447542 585568313 877976508 502879346 602599150 433579668 960223407 728532934 791939018 573896941 379534961 625070993 128043276 144083333 897693465 245093367 866153609 689378229 843036978 983363524 961430240 675566030 450353308 506640841 833566281 785837847 774110676 349537455 736307602 117445037 628432634 877147570 320547379 304103174 717812199 658496437 379651538 145094674 825058644 715092215 541664402 100244523 475702587 386220524 804155973 993271614 597986870 168704411 845607720 532695714 267305291 457609842 195170422 527603195 795673862 452888855 785905085 224220582 572240004 876244309 148955620 460163873 924564187 740122708 637405370 612343705 301371623 462776985 182746326 575951907 782037166 257948808 116386487 750031162 453527779 982773620 660048993 830807430 840617840 638000517 743774728 560923953 631636696 994430948 515410021 266206001 224242899 824628232 364440367 103698469 739582409 615260389 113418408 213058716 710988623 125847879 893023910 378251015 362777167 649016260 320220602 859799826 198745093 376619584 664433094 353594753 868342422 666240798 807285271 604287662 828430949 969392005 503180024 319065735 750883051 207701536 296296338 491388408 625570772 144196308 676179832 434697247 410799562 100938505 699637215 373676011 147418963 395835699 350912580 160604270 809873338 679622135 449719163 453392534 860175050 626553776 351165900 792157419 203690625 803959308 164860523 121580146 521675112 478420816 320515790 656306178 631417673 868162385 104680655 612062059 157028818 144351253 309446698 393730488 165247230 614774520 530895019 225619562 971465288 534452945 464547542 115895824 557190492 322194408 162352106 410921021 369727271 316381795 842197403 617910048 740367228 138641945 258828458 193426783 462331588 750559918 907369514 907684985 634058137 693230113 488971864 705731006 192257930 360497002 528377358 355662645 965480849 337657996 785510181 364865691 759030159 219482770 927321130 577083843 979640677 991075934 561146380 193044129 284112170 891290033 474738605 228927431 530336611 312445021 653199822 222363762 254779895 305652468 140357865 560240855 149906537 428473324 695029531 277612607 177516725 614420186 582364776 420266037 294056750 622101286 911170200 991550202 572612316 813364176 388662058 747667505 736895841 549421215 156094507 714055410 430275295 307630326 411722789 941580741 309585673 475364364 550016491 340641364 801393793 865579871 790833236 856438598 262546057 503395973 235612935 885031240 593608850 327471626 532376418 166892921 814169426 679037525 189817010 580951169 439554740 237961211 833455037 330040481 108953694 572779735 667841739 286591945 208901083 575584198 360825274 164726424 460353219 179034978 251272511 225510285 736710254 368301797 329651180 247072144 909886169 173278573 717442613 121774785 368416676 316746367 694523545 298508292 592080861 983754166 938838839 436017815 997593827 395649293 262106290 428528486 176701435 933788225 827695433 501375134 859009888 438078800 822828237 504692628 529087696 517324154 971331792 275923211 239341806 251071256 868566388 707134761 978933134 302879625 816130994 583952581 100146323 107062610 144247451 612285806 400773984 666521118 697987692 853769482 210714098 293729892 472340859 171884319 263240556 963376311 203443888 364509128 611062577 647100720 526088004 898658035 154550683 952328224 504707573 918858794 603375320 755512275 951381894 680558009 111449691 257600336 409102387 944635885 493068673 800076847 294014662 149399519 591229191 125557838 874762530 544075441 558511861 305805951 150436598 252380105 516828253 841317222 448589747 376118547 136808838 728716355 615987266 406917844 563642956 444828194 262917441 165166148 669688945 545337680 637984413 589147887 796347870 855687750 196544221 632158928 455528789 635387318 838590559 396264958 946853768 845956371 542217895 627075846 883448719 868278507 156951126 600630276 216524376 246542291 875840889 365646064 253644089 193888451 598741550 435847794 508470316 333789570 797595153 831713197 214727215 434733600 434275317 867984602 263005062 685765565 216950716 179523780 593147073 441895999 904439684 468833584 894293855 132751833 275007898 615530023 277460719 166957719 700480012 477011745 302428072 193434931 849781481 274042930 713516879 413911292 823064211 570404378 221459093 171124462 560330491 246455185 274130260 404076397 735495403 543336743 139530953 179993823 796790474 324833082 427685751 473299622 632982849 992877306 333049729 432976809 861943577 576559571 619972176 385465969 777640449 955826074 822788959 709686369 855634935 280104212 876263830 261872381 524798628 830039632 517919257 260857679 956326750 836179788 674525091 447721766 615068481 439444187 816613566 268452710 107038056 231601730 840649174 121845014 269532873 910414629 474582660 712169480 820326654 826816587 870263752 477100157 432557046 136024755 332468130 631879051 578837686 333812127 952873263 416382527 329440268 510540538 503864678 189205526 913579769 191142407 380738957 521918769 499324949 683497173 876693006 427066640 685776674 156238835 485216236 346509224 716704841 313453601 805679249 856225125 621326831 486816369 931475552 532262575 539385362 337814486 279584759 630637613 752468755 663366168 783027115 644923213 614621522 828299008 997980850 363015666 815578860 948227459 102077703 504942546 590471278 866299108 132294564 711031492 163330947 866458052 657282416 405683134 876056602 321746245 332940396 292095562 427478239 501341249 957347103 393339387 549454091 150612258 375260755 190665272 403828124 352241427 447342595 109854869 118115367 192374961 708423170 210752733 626294528 996671067 823615267 141178200 856384280 223661484 252447950 818285720 742607083 117999228 592742958 497794685 327865144 646378345 867855873 688160751 281347870 944926109 748318055 577186529 716051107 899005484 475683550 811556966 531757791 345869326 860837946 554895598 299494481 800340590 236932013 684883507 817120456 351883167 538461298 757062196 945094566 196240965 585096536 632276769 378482358 280072297 599753138 560243431 222789402 126813320 660124797 904675594 427485013 378316894 640891841 566701371 557390017 141859902 757609694 818381403 710957617 976367994 456080918 375074758 215560967 488211748 940560332 197365249 629368382 650755384 766230735 965630803 423804832 567918115 659555602 829900839 200407819 854718274 771835815 951909453 446099608 641400415 423341275 219753971 983990707 847720868 252960400 483707766 169052597 503400149 133001582 572210222 708841813 427758772 517365094 655539627 673142611 222462058 529176617 453052864 547052841 927384489 208196766 155297103 685209267 463617958 316232492 509620065 332885165 204908175 764432490 598584842 835706203 192467460 817538904 467471940 181189316 564150473 675822866 456189901 246244778 682033671 743935652 212897142 913538441 735084162 293328378 479115628 976981375 160369134 578345315 563477001 491860490 556052343 919640306 100257876 414806725 119885817 140106828 845522390 270397378 701068417 733146974 724329811 184794128 267228209 852467382 304462831 864596802 436422650 136609263 412411234 495036528 725622612 901200090 478846814 781668381 552378835 233030681 756150647 386359806 331237025 243130478 426748153 423476077 146730791 932429021 706631240 714319106 966784019 412959186 722749642 893579134 377097780 143624050 360849487 132687343 382541374 244524576 847294218 216116483 929922974 811632585 226814960 924072183 654203298 449832503 537073529 680716724 136240573 409840386 325562648 544061260 397468672 667467989 667324034 771781577 456285960 548700196 510420441 464698065 444964665 944096795 672629128 115530569 214499466 340438284 718385453 495024339 386151689 122311326 276669661 234121957 612424898 795746567 575837505 874738605 949253178 487514741 370772967 315954672 443692755 298599428 967961842 480668363 778804545 608062069 434465115 896848432 821966625 527008248 559329352 718898241 570988321 975286983 380560489 293304390 196818668 837568086 143939739 820496762 542536343 882460443 672051156 210937873 227924592 831998441 977196884 738864784 691159035 295230993 285320427 701804629 398656312 376247575 352441581 437287972 221980612 115839440 596735056 359918455 540411409 924056478 720065440 140922978 200417392 585593098 298261937 845126450 853440892 211344988 754936548 803172290 716670228 923109573 635265483 739987753 230493411 335243444 504618803 611775349 173996876 796750015 847793684 343018821 611145617 257101821 785001544 112488990 526070045 410621809 322603600 449270181 156192177 657582404 237646745 772608294 712539414 822197734 201257973 454571950 583483881 757178665 428468219 408687600 957217354 350406688 887520008 862629626 402304039 178404547 180583461 216547401 235312408 827266700 882556397 813454790 163943330 995858348 425070317 131147430 234649705 387017345 187667450 710489207 467187329 548116948 833742506 474569951 374286157 356014628 290333960 500129638 119699336 908118632 988460024 287674310 476366448 856273752 625582964 439725484 726165238 839725985 500013996 563676125 608884399 659556702 308403279 993439530 663095606 125150110 602529769 700346584 296819705 582857894 730915344 773160262 559245297 764017127 457915563 318178405 518721649 795135570 769504085 243553645 882211696 980688123 256134358 675585845 586902270 693890227 659509824 198826318 148592462 106032469 924547812 142757685 756406517 917186157 615914044 638828960 403353037 576401448 815686194 478948311 753888291 794806472 929374989 385344538 273197533 728722507 742148507 616889356 371731465 672539911 556805115 457049999 273064995 117883105 611563099 893779770 792932358 876313817 661413184 977025220 737217053 298748817 136448710 699253820 659786132 813486233 763189199 131192003 817840140 666232849 358709497 785821157 939173176 208811005 219077122 974020823 635969197 552269160 217960189 250316299 643330688 530924608 514969127 572469857 941928429 575339886 917865189 745415015 888176561 336139612 430730359 568591310 731790579 137202271 940288615 638895172 572230753 198412428 200022897 266274654 648179605 719970591 250626318 677575695 242277396 986618635 519724763 702825009 701702363 463682236 658488770 897140471 719473638 835926684 964118629 507392956 138857008 555748605 993927477 160348685 525360403 866760182 111971298 168925906 320998630 649893398 660197854 908752364 869082599 476662051 857502967 227768213 854626343 405446228 603469782 223841868 568080587 995880058 783952159 832463795 140227353 455686678 266237700 427784591 933158931 161778988 164068418 888708411 792340737 285404314 890930239 330568723 137013130 474614329 459259942 417989473 228766189 664962803 301689477 655896057 293423437 111095869 498926684 108724122 384989180 806007586 655479598 265599745 210354029 111734525 603764561 675000883 402523769 752400818 605819583 693131497 245070736 240587352 967254947 656189636 926010584 739658126 265893747 602385948 457942681 255748205 816852323 334918598 155770393 393122510 139193527 278621171 559713417 252445534 152738963 487699885 571246172 286138528 481990661 910238286 408096895 963214866 984611320 739898783 686405962 751669410 456777972 440460063 307273437 580083957 521994735 785348924 822415252 498511729 475956941 467675405 713082961 275982125 395644702 497507631 727762433 927085032 537170792 208369132 267897612 387402868 709667729 630769296 187575149 442814586 268867390 613569739 513292861 967406423 200672845 532119484 348104163 183894364 870813170 782005578 496557656 262604828 735129757 584777093 931141641 828353551 655476801 706844385 260548539 629995867 544828816 329153598 286681169 904713308 957051677 219864696 286564606 417451818 368382541 925782677 472204640 889674167 674921972 104258946 353005299 456447474 149529102 947767124 886878238 641547850 706329923 522163634 714987899 373258034 505077842 258533500 694608130 957656672 555252001 639363210 850765575 965686803 601235610 832594573 437871965 843329337 158568523 478535470 684905687 520952803 886133033 837880172 343558727 664182874 384114794 331434494 434840025 244262106 998960542 299353046 565938001 795363669 166734940 237218986 474778222 736507815 555861193 409344126 288382149 226517890 303321599 806268693 535400617 758802218 777712631 297811147 367090077 473394099 728027875 695593707 590959797 733177222 617473471 351539202 791085990 225001484 667146969 480532504 211695511 210921282 268304664 586202868 912980813 941703005 576393956 811134968 609731021 881949428 854986608 924952574 377197145 245356148 873281877 455619108 835453882 424854340 203882247 639594953 515260715 926696085 155582316 803795358 229907481 547074082 865627426 325262044 617016800 197555201 314632999 897645601 885646247 325561231 783421018 886393941 131772717 598166075 917404720 749785066 808483562 356455970 828867689 577111168 840144595 847904914 571451126 499762046 714133364 433288092 171879685 509756609 992827412 254960520 622415349 780324758 803172913 984441652 865026805 662716465 800027867 877537409 961186145 494951877 547556841 656356959 580179441 931845716 165079395 782401309 634647245 385720366 900810656 711286616 260224824 782319518 257712947 385965294 518705229 250390240 724368392 959729851 464390807 189327806 667232522 454791384 370325491 885323864 603832484 777289479 690790845 836778155 654475351 200539404 230934700 752932189 456904901 870932117 245429997 784333365 817138439 159623480 579490867 173373362 519964379 871217248 208091221 745006933 998197867 493289562 262079752 807252860 694503669 776471558 203422001 489124447 699774111 897548610 878396846 495291255 291886681 243693359 820031240 152983632 164589377 264958750 135994924 885510010 139930914 897108485 787917293 533086660 489425915 985368204 724183675 614781957 412560897 689451594 557163988 746987331 836938281 198087416 632644540 962943024 242862060 825299206 328737112 446632033 390447100 596552623 808522727 829168269 275542784 449375919 786974908 379331618 402996596 287257116 505786127 286038576 415581226 145824370 998278169 854879737 551975825 674764915 970258552 152138243 812564995 655910467 327395346 293673517 200087264 705560445 522503593 704429024 625831993 551791424 480753226 770760121 163647345 797802938 509240617 137546685 827197303 374599228 870635229 574058088 890903965 674092652 745169866 127741770 844810729 639686983 166076126 642651962 429922651 452180807 709841001 152325624 693439423 597509333 350785453 297396318 173333783 551495783 735735593 624775916 962146257 274595157 916584238 260759905 661438510 578581509 967114232 221443965 251898740 250232442 945350988 398061325 989080075 200086346 476108649 689919826 915061623 373120640 502192379 409412170 814356250 992298417 586759956 485948860 785943903 336425240 489559133 794902506 411647174 819303302 695662089 949114044 361187967 833719315 755706833 332427229 162628367 131182392 319808163 537335297 934728841 206791772 164527972 434889752 110366879 875647928 876123186 200231269 692697449 113377923 401603542 878077760 595782789 182479996 888877586 742516327 211256707 638844740 847838257 702379035 871206207 485445206 986825674 463836442 713520310 487351672 566534034 190900061 663592578 775088697 470240139 821410431 629845079 171349525 258473149 469041084 818448244 620912068 203228941 553210896 621377416 316496565 654881546 619504829 662913385 283249699 487866712 224917595 158063105 539481756 782408080 145770905 746263329 681041370 380110816 544845558 530083645 795354049 531108944 235904947 528372969 196134099 352083092 185643375 986905351 565798092 272392987 123802805 631022484 925777060 384792542 767622407 803206791 342682502 780425666 242676667 627262173 329062899 576108760 932508075 298300622 419418690 241177185 578952423 532894005 748190079 571590681 901499376 809839899 861123681 597929242 477193844 702075246 799390363 619003787 541323000 496295982 624715549 700282317 883365806 485620151 841316834 670009551 689806193 622302199 121490782 454890723 801013116 221907509 410399102 745629776 484580287 873110341 109290901 421615886 969100080 451489066 295338096 600713900 578492033 213472394 322399300 892384191 873916463 230322126 947879957 270307484 581127674 450857437 985842419 656671722 639527708 429634673 220791860 201285063 593770821 391062453 564454095 156310251 191045085 960592778 325406736 675774358 402722277 853150313 277220659 650680394 900868753 225252766 666798172 764337246 622308469 488014058 751658280 614945568 212827289 132738782 303918254 299089169 756158925 740713184 329280666 300002087 580533775 784560739 348667819 184187297 194578804 949296546 854324166 750333384 503292061 261301724 767001346 747819531 995130287 854815170 402154768 231983239 722705481 776329044 684922342 801540170 840842521 183940272 970184894 312822911 906193704 237154708 841038597 458112461 979349479 165771381 811784941 651667213 633096927 580216259 917304350 854898545 608104357 530275913 975552923 847620423 848101016 488681756 224488061 936855658 212977891 336604213 322639924 832751013 778467392 348867715 550641417 901521711 565545094 448398269 215516694 517689877 184751721 434061381 156241304 919705132 781917188 277848975 591589677 695427387 545003378 953483476 748186494 128934855 512091228 792436359 707740874 832441741 874326808 518706668 931124361 522570161 740587109 231542230 444663061 494518631 991342125 740828588 523621759 928649264 192113981 891147168 993119423 777427223 894788397 257732533 993608176 286904969 715293170 471041696 480552977 258745857 185346461 937962776 634963880 694486771 121080638 285779725 579801924 329313041 642843160 137285454 754950889 118358249 949419858 640892552 457852773 791792184 592810739 506091101 272827078 407148167 724789392 979366765 400018901 118286473 294650361 985249956 849517932 282448481 452044391 355668426 514726986 708372253 317793080 433997449 103741275 654204941 615648848 607636291 807979889 885850987 708791541 418543276 565659327 112652293 694107491 981748051 177068724 742016972 524321278 302182282 648089699 814751668 977885168 515564347 311776963 372703260 636656049 155230416 797463286 192867519 255327362 153701342 495610633 738712620 284516851 722011150 488314876 782109336 197930492 115563372 610854715 365020896 191261986 611363996 456068359 786065773 262135785 327518485 883417214 980441544 698448788 850123872 748148164 818166483 958067790 469990120 578582122 465521466 719036091 520731360 371932988 331111892 639100160 886229016 273539934 981685238 789180570 968964171 786632705 871133804 229818496 833506880 196206181 522133943 564781677 783168417 423363429 671750419 777284868 716085547 681288108 887184709 616492728 382509680 325967554 222908284 804669363 666331257 281957188 757353581 457430719 462119390 459102998 905460128 828236931 811525905 540891846 149724221 226612625 448624965 543341804 951353010 244672934 525541308 912074798 385128073 984804450 699145923 595954821 196501150 598915055 911945567 953365469 468334842 418745852 181320518 554776257 789362664 929327270 207892052 223162205 940421376 942212271 316014983 113292471 157327939 832734985 333472018 203031463 615887979 542904113 837234785 820243692 321603135 754498968 928020560 701428414 226881892 543244177 952037651 412816054 780271821 747438977 810112954 127380504 411633762 421496218 201564242 417185083 643561505 137269389 695861909 341918586 319146066 375856697 880750584 167059530 972818351 487249566 400463808 169614512 496298756 399587978 110095548 760190620 856440845 615535600 208946049 708278135 666075314 549673475 996799992 144483533 980034668 676165677 149460339 769804474 577292049 528137462 679997499 699042604 710620261 958090891 621746430 511324659 703333965 309785837 507331836 638318066 435278877 416438084 169642512 496064533 234557565 704642944 810868377 706388221 750583925 856767008 842756877 167224488 514644678 491540395 304825071 805767171 161754831 539788925 217725083 523607944 812585526 866520216 787858959 867385787 801453858 864284931 404286343 558580657 104967832 284017111 231261780 305930781 638753018 912800337 362788869 570192061 638063635 387186963 959429443 536921232 256892216 699768023 570523654 433633823 846867755 715816021 187713103 503492966 196577745 376269301 359467305 496095258 779900391 356347386 292295830 417000104 536974275 249314680 257828115 790926239 773655054 732983823 409245357 412995846 887832666 793536711 550709724 211885617 534888107 796284042 576600357 970338432 336190372 847303197 990563041 190183954 427890582 748024269 957351314 126328285 703710470 491623195 869808418 339303150 821307388 360797978 366457741 767675279 887511219 352379292 175362976 815539752 181075382 908185366 418062835 410242835 307656271 910962341 792832058 683691874 117880705 158161882 548189540 239059621 994899385 188002099 531074675 293341253 575778918 628999383 712079642 246404331 175702265 204575076 426826471 256862978 258312042 484190686 493185769 870952611 484189770 938764115 552329392 519732484 467220760 879324215 840875169 139537945 554176086 714747420 153409865 730840373 305750430 255336767 125285297 690654082 508493244 883855311 100045141 992349392 762127011 405620835 589359273 530851649 157380612 363166761 732589910 275060159 883970058 573208568 421603263 504204749 187444243 148667135 490985482 954892735 477171007 204628197 216873402 511782665 340080169 986391838 609674750 988747205 472522983 520163224 500740295 825946547 815315987 209015620 630343677 468296031 194688780 275258552 546179403 534881708 135077099 840562502 534661777 482647168 538953909 685469451 942509980 219268709 954958192 936838637 182747263 162323842 919776740 973074882 433442464 707894802 889250941 246410467 488622525 949350967 811653319 398134554 579196322 697263792 259442951 958527920 716905701 296916060 161002778 739377503 460572949 516453755 486470259 931078519 869887990 152302116 416111343 506297624 361273590 602022915 847031239 760943076 122177591 800204442 162549366 426664949 904804267 142335257 751419220 127589571 133699579 476780501 619362974 383695018 483837074 336026299 477885733 890683203 374548954 175215175 166832054 758020901 313503223 706847879 789216056 473152488 958360315 331594571 805133156 788201061 549163339 237697728 246847026 964636385 455298006 229613714 972114543 646039602 753389847 928788035 956650203 985625410 418282671 622914873 754545628 607878176 420554486 911459416 261682910 272179989 206179013 339006168 246838345 135190443 830336536 292381091 234359200 582979721 703013328 613291314 571876095 923451798 683290779 220851646 245637149 858894290 277276982 984785176 531987510 154147628 847771904 443759071 138483534 652654076 117470060 974871375 621655542 856365932 580871367 579518406 991952189 725860430 599387201 314668626 274305591 625280618 244177417 779598285 271395159 144908711 327401876 272442265 423610363 701415797 975911241 156260186 191665456 205915337 741583176 889023403 915600486 504994161 684763174 572053356 194277718 726556709 437762496 477454948 560881434 841579850 773533789 177277463 473816735 360047364 770595616 774291857 442443599 262650243 856646346 586228009 292211452 599334043 991598719 509145020 917435704 488067396 536396757 495357677 483179213 564394531 300689862 544739253 312564035 560143347 876672483 627734408 228131615 515150151 371478027 797368337 165537643 148281424 624679213 405504335 210862258 609246876 970994235 910696779 469805081 205663434 351237273 313406981 328854430 569146629 147348298 594593120 639801306 777937063 840072972 235546755 531288969 429611874 257490701 328786868 803650678 934074084 592216232 229869700 258047769 183329126 478760929 773202727 379925736 244445172 282363973 564613054 385560277 832086533 401215920 897207288 581140425 761954662 147538116 322640807 658050298 526293224 779576834 488228151 209162952 922473029 906115916 753087347 295559072 234137861 169572654 105805704 516947744 200529543 128326922 988565956 537996832 752966096 250859377 760620138 497043733 534546633 913976884 936036001 769779888 129985752 700174545 441016780 683444207 940256939 221522358 925881136 766397958 114396506 349579305 647733333 214792360 599742198 440022812 978068342 170948015 935594086 445953562 998321933 139173006 535118395 605321373 612911675 316610531 430748325 908435057 831944916 550966112 483255393 146067743 297596911 291637435 538858776 258636933 532068388 109203318 751229578 207064763 821022149 628102474 500942709 783348449 990753763 304685596 233552086 942907662 134607477 257901680 648380708 569629166 849314487 727358882 220938092 920479769 277230992 432880001 462334473 695862805 864783767 825444172 480789357 523732839 818501169 274680005 114035964 657285010 163470726 991617754 872106306 518189202 755190154 865207264 487835427 894281516 313475518 122471070 992244918 464386871 746844996 859708496 808551712 903550377 929546279 517790380 323750029 762995313 952288396 398909220 356262015 446212632 184256606 855148906 484360926 693881103 324309660 941588071 355715845 181013969 519913563 627253334 414572253 651732061 677339056 907851750 420666551 935831405 232143012 199148095 933709338 569711803 116373333 458451122 628427721 427919018 544321560 810524912 126219692 525290753 320389764 105229870 911837219 941800296 598113529 642058584 304110988 416947540 844633842 929298512 648143132 879502946 608974715 198557727 495171014 715825337 187168054 739333369 228263777 223010867 301987492 989268645 118169574 108101933 569695005 255377794 340514701 296187416 711723949 550134837 304671209 383088474 967428487 465670791 175893847 705535423 304086098 592379478 684090541 478454289 141678073 635346615 406394161 322977412 721617650 672567862 971460855 220870606 388919667 553333369 958327635 772700033 511171825 340544231 642782332 822893595 432520947 715455189 375800415 223883781 701947726 653143966 688939934 817995002 962308646 623775901 773060818 226592523 802495796 837140434 365309327 185598490 612568249 771770857 380675358 110873369 363049498 602092548 584503713 646050227 225925546 449754790 936006766 682888089 516297023 178498019 319823728 708704637 311354297 173613883 684366316 975256944 477929218 553191747 939476394 114947411 187772908 373236344 908264182 579300341 868403785 854841188 782641303 598594775 326856484 654847933 304211737 280681351 889257667 479053454 693818849 671765536 890590017 964783874 590195773 476810960 981336636 918711054 859057746 502079086 352718042 412251987 635815689 980718600 790486786 350501959 433564979 674006180 824509019 746932092 182999710 715063807 582770799 914832804 497604973 504754622 129952806 445423935 675136338 697582841 226223034 346558873 995910859 208541404 876034866 424088687 769471145 559783959 812793872 824686811 863299490 245363394 669628908 874514157 195317399 383630640 323258678 386140088 590099955 955473658 595873252 636915197 505245278 468433451 178994474 779108922 246843124 400227990 705865453 363086690 778766292 665671963 164570891 527807390 568839853 751972957 868607080 603902510 979657073 355929073 926077726 623650241 739876822 774219751 493890942 984335095 295317679 922867840 300186629 676411327 615891878 690484364 604324849 611790919 278192219 918481710 923392751 320872050 429536722 357148605 713583326 658272582 348158869 293154592 889675271 700555001 817913862 805771688 153780356 932692814 250160529 132433684 482660956 951592384 710565509 125594150 366891553 226068992 749190520 590396826 256442983 530456101 763394375 138943392 978903985 104880703 372551061 688637066 482221436 104569959 486906625 819271162 962536729 317521167 479076639 361307519 963489950 562073464 532325281 245674534 889734567 807255045 166055485 818901531 501401183 514014384 335394472 533116419 458567489 656368969 963283195 983669963 178111395 210637340 741332710 482264061 772507606 768833121 324998905 194065296 690091341 328522456 250092044 612931093 389413051 978975017 401335169 515666833 907357561 121470069 774136809 223839061 250387589 873048212 663511165 150539705 472813519 874786591 608685362 464061983 951643638 736521286 523402246 266657629 922714810 759852028 131343169 377476168 383378120 116491618 118971182 315990670 375621106 942187588 477389735 162463199 194359405 128394633 110068872 705517066 197835644 166170508 708651280 351403462 926515999 827945055 770838624 515050849 989419436 474253220 806441962 437260406 794248583 657144723 714646242 466810248 766207058 747169733 121110146 352618670 781849260 801117893 782382800 754459306 527853490 171312598 646323770 758522073 830618243 740171247 578964392 114238177 323893331 607697083 239140868 572236603 163404786 410255369 403093275 620257456 449505083 744080721 470422988 532515935 771809789 469322229 996246950 765183752 989097604 522685395 891912337 681050830 490370543 171155211 319949542 458469056 375788086 577839501 916497169 950615370 551621137 604363701 280635306 949947515 223447954 742015802 944904664 422989507 980519500 918023196 352722319 713452836 394880548 294717292 506307473 382526769 210445137 230256864 386101076 562379634 428026960 334441507 206016554 936511163 573400154 933829130 412433748 250116002 485819594 489362500 520835940 143342293 612591177 790219769 499882944 328174731 107987788 672429236 318752386 689469078 940177938 174541622 824501004 222659325 791752824 302323190 181663129 837038659 551136311 175114009 115131205 278009600 912290579 451882081 203186283 523237275 439937929 981615922 436998932 410056705 411800517 669448379 741260653 826156683 114183428 249152567 638945533 221416356 141748028 161338099 362045771 477481236 691659593 568606534 542103898 582591347 821566672 218738767 706735417 289965699 961284377 345578329 241986355 142525392 626682239 757261894 902347887 468254625 200090631 830230864 647427690 785830340 925430195 778492742 948777663 248648934 966103852 677158802 490425288 969728772 907044083 630348237 299673777 892888284 502270716 982424771 772526848 134449385 195626653 186709664 690153389 691215999 850768864 985379630 523326768 887443754 745263424 291886306 303957597 520851214 616030664 669533971 143323511 121889090 625230117 887478039 475221034 273571275 336508708 970400460 744915239 992676136 219502235 219343117 394875397 832610311 882049148 794638067 896603565 926270624 408708177 231248549 105346864 161845693 634279325 216521880 849481030 692984934 103169062 485925454 760645749 872407572 994239199 355021345 906137377 700017896 708818638 876813289 630557920 927305537 778493152 158629360 249554426 352251297 182124972 926126251 316165970 708020717 529201274 442357104 222259094 652258348 866122636 856209371 185034042 430643885 255438984 414229349 207697299 949204473 136889511 727539415 112534532 709751347 815131499 892058517 705976206 391972854 444235017 407829586 383870168 906768333 285249584 113096791 655567007 332249786 148570530 161286696 714930188 388375041 502102095 794338596 194839183 684952852 952775979 608584191 610900863 342729435 526350435 216924682 158134155 735828809 116263517 753910622 491631291 298134316 349737356 734305857 878716858 949025501 798444286 108423055 418643177 524873552 483982308 452436827 545041794 207425995 754432369 824971804 551261003 399347717 337567779 604910147 165895094 980811788 878463319 370017301 391787936 258529250 442380102 230645059 830860888 354670709 100584560 678904816 486139973 883057328 658681268 454056353 393279140 284071229 619552428 247681703 712267609 432508229 546597222 804832695 601356720 398429854 227714455 451337903 692509203 354439263 262014337 313835412 772490998 458124331 567130410 187729828 967741790 165828391 160862545 904517544 675060785 316875268 250390925 227119638 908100937 312405909 937956060 121256418 403127371 378272545 138523683 176960234 237348853 683776475 343183265 836408611 605313236 703356374 438340207 654301067 918542590 781807928 378331369 131260931 438840062 171946398 904823273 181204032 470349165 435410212 755420361 409939636 688605361 379165489 743759264 910392769 926303592 883220194 470231003 221515729 229090410 142587761 336647006 167277090 125384380 823472618 551975873 677718296 836205911 982152337 205595929 727796488 240875272 574704650 591789460 829095258 232825987 412594530 443321561 427741474 684525740 953586697 371783129 429672855 506039410 648940929 385716981 335861254 941237107 539016386 258182337 771182725 163567987 258540148 544975176 102717196 379341181 964768234 753172147 429251458 823765527 850559194 870048777 317518509 271872174 408588685 242657199 835616948 500213028 432909047 292279508 728436754 698435604 816997204 278277164 999416643 225400719 675955132 399300198 687152954 699451609 752234539 981659817 217124962 536251766 310276605 877665361 980222368 799250154 567722938 411729923 398813453 830200903 685099485 212258165 606808114 526779341 446572963 744452185 784968005 723822555 919583549 211591311 970473492 280350676 876029950 749086205 946879629 189271057 313976627 248207532 504527805 834006162 551406870 585273963 580099514 401753633 761768336 598844290 115813981 687095804 657681980 125439665 471730745 316137056 623155510 378573638 499284094 872071377 343442440 518935727 901347049 380251594 349898074 827969389 504742882 166176830 331898942 833392090 293441271 790639325 337701967 677458912 233872166 356321444 192337564 408021390 198347802 636249257 340820621 876528547 495159363 959268736 329776300 629855225 688564293 278465712 176918101 883922418 292287437 636344619 697120065 367314620 565125409 851000498 933201758 386599206 246921433 547958116 996366146 836734095 335862477 634547940 785012125 898819544 744069900 237338292 905850821 106549906 216709265 143335853 740710804 225806099 298722741 118028256 771150275 997518542 189325749 270917021 279585397 908990416 487053726 496271213 517106770 610617960 290106229 145819251 483569841 985193342 424444384 556342740 255867647 479258467 985553879 911481547 518830508 707021419 703537934 317223023 940254298 237488607 492986378 974359382 914989714 223221150 109791763 646578543 255046956 326966552 416004984 985347726 673322347 534730564 106348837 916962309 266231424 558620719 177197461 437518786 749220056 917859084 969796220 168491897 960705845 882459870 512679816 458564510 526363169 745882173 470432955 455503997 636628386 238073627 671134472 696288839 681497337 331027398 344212273 200312691 545183178 574529831 620354766 843596518 476039207 460877210 273619363 305348199 888380260 114542709 263752907 949639441 915814784 961857270 673342515 358348642 853120922 502294802 351677553 831747065 386815258 957001034 355990206 848087841 540267684 241052171 578010229 680600017 763284345 639014620 422360140 363429075 809239390 785602015 424155767 921411559 363869450 262962977 373267660 395531121 856858924 950906234 619984056 742038244 981620710 514158985 574719099 451841950 933974520 851224067 267116104 651178448 643466832 332358944 862878561 436784940 818232783 321182365 848091140 622724067 771671200 227543696 179570925 556952402 318928293 469077800 164607889 257404819 562008740 119696013 588714882 370721958 110231098 540700630 776069951 260950737 821652379 282034550 174100176 514385403 873821726 378521930 295646979 287764942 175219460 918069536 479461809 790647814 705294472 750847856 749217704 350335858 575886039 794302513 858968778 547201690 507675988 611146557 673623034 974601908 246220600 954529323 590594083 552899512 411948530 895533797 817089129 343982860 613607825 380451614 437959381 888982274 596217398 254389974 521102698 572388835 455951599 886284361 199924255 722807504 605561676 889197012 159363476 516014985 565920889 256023256 246333414 846500422 985062497 275719595 739040789 210352976 533226507 143256585 435654650 114277526 515659669 245643922 638047546 615916039 738066820 318833995 692961582 882997974 298881003 304944444 933169677 250368845 560944745 492124960 349653473 102080258 369447636 429970296 278759041 766796979 417962563 874135248 400158827 979381998 260000185 353901629 402948970 388658527 124097240 420657297 290256428 335520524 441839178 407620512 200028744 804490726 966819855 477503214 145996339 494620332 303675342 228804546 227300890 644558978 344790260 267243456 338594016 780273610 630598864 790290070 993842130 751959872 252565566 599498431 247361653 895266669 514463726 248117361 942303909 214402463 910943660 118360905 233857967 468086295 552435764 261938957 270096221 248654586 925459738 634771056 936982316 548057774 905689446 174020350 742809031 989229231 755602751 379509137 571504609 180154034 164210389 808887111 491759268 156520725 449683848 772066934 967973456 171198003 367755919 663424011 586556097 179426957 804761040 933508469 773270953 289210895 158523660 587830275 400705782 218652516 980984355 444861015 899611290 445612032 922768405 474387655 912801480 243563586 640468120 716054743 127400623 383971270 253047903 542578150 705664971 889240763 729352228 218327326 340871399 963202093 713806124 819977411 768899957 239666526 585180657 406905889 400405184 295749439 873993893 695072406 371985591 825001061 631829995 937559115 592120375 764892845 246220291 655845907 243737695 549978035 486721848 378264067 740995425 552447942 193058232 748668030 628120318 123110821 922150002 494399829 166454008 534636458 725348358 807114731 224494877 125152543 270155190 521953895 727003244 341308453 875533711 149897610 441579013 631168041 576545833 454671120 402127860 992239740 231810210 712328504 222724837 482121294 192195515 586151636 177559023 580353116 920232876 248853305 253637623 855061602 931231426 896673341 665076621 352494233 519936082 355110011 166052803 777988708 208349656 383150667 783572359 232741694 687339824 304505567 428111551 713422443 572428451 385628562 825875773 523866366 979460917 195860032 440889624 326776981 190194399 175628502 160479536 640306070 568923253 109246717 281564717 482126968 726849812 535829130 774912994 579321551 571431195 441584817 406596082 750289290 930220505 738284003 756774093 519709930 908523897 404741296 913738462 383928859 682441460 650542371 634760281 658571720 686739715 388576418 550274818 924553433 699164273 692090276 220132564 413535702 549480223 886527651 307576285 442503260 551825649 199149625 868620238 185445577 555915421 387324260 235394439 155772824 545466690 469377051 686776820 127131955 733880476 659143695 764742011 998646280 169151050 950879595 971950574 467862505 699465891 403236978 843019769 582807854 850046683 510091943 148983877 984837113 615531680 890867617 122628506 315773074 983075307 771316387 201599570 726896839 453086452 423905876 548410569 916924380 878184920 238464621 472924639 752154763 236724333 236109151 132976020 904483003 665706084 768440888 102241742 729751741 252377673 259927886 928836623 835264419 414989185 424280869 516332904 793910740 676025306 189064533 275357214 299642428 973932131 177036954 396087313 711517155 173895232 946876292 496795370 467742064 624785292 891358860 471816080 382232669 340811213 608225425 171457850 122758119 442986084 178807416 760679634 449657111 242625022 943934866 833495980 525944722 269203359 305503140 140891223 103531384 919966308 788801604 806333547 899273401 474587755 962684212 544049204 184669187 322129323 257014005 982830812 104729441 388797135 916245489 524727868 798332751 353951151 135817038 981079893 427378405 640669066 315815616 300834341 821363963 899906609 767697930 768992200 396227613 378587640 821905387 334519747 705942362 735771072 432442403 766647635 723425889 236008264 441578265 621539711 772835858 541355301 918566194 193254982 565681055 334101346 279547089 525802153 131795737 703874529 684913056 521994568 923993325 663849534 501304784 157697457 740890099 274656455 528711515 245647288 981222753 832492150 444741468 337676893 526702384 170507627 498388742 371568852 942768284 342064931 348184070 449333823 726690539 337720345 757495303 135538682 131827655 254238954 857077617 208382882 895360024 869567213 640262486 713030586 904210936 573395756 770056402 720492366 393061210 668323525 863691985 323525774 101136920 827134548 274856404 228653042 774849563 704681154 744853438 494692187 928658574 199832160 479086829 254958419 605407036 920382035 496830505 458490036 229829043 174867473 969079950 603586502 317613527 631409003 149291340 232186809 612309800 118245617 177033207 144319191 321184355 549000090 723576745 650627357 404843311 385921760 727913336 968258400 821180481 561075299 789884782 297161193 955646330 627526912 889452148 810815553 787532680 899074330 273520603 133376563 328914022 458747331 942402382 176139689 944170856 818055789 831986682 202152938 964952157 611391996 648307785 352058276 931099203 510417671 277292600 487935679 850833021 805259184 940020388 213363928 479813006 906702084 478822957 414880287 889101003 930157408 915350493 591629995 452643274 398548098 863692631 381563356 565381756 503891739 381214031 537306278 668572354 920900151 969798657 577606612 155502470 680031261 627460244 422430984 573571956 406980015 789033066 356850669 188014154 686140391 828520318 184097732 749235555 940686658 326296404 563300387 152036052 740444670 235814109 991992793 387909721 676716827 616980567 561493584 183456712 957892304 229907558 374489725 379304025 580112111 489257940 500465776 216379971 395805380 622200333 675502990 652276237 688698550 309683109 243757080 502537423 661726861 282447194 379664179 624138214 136129471 817050465 988576531 652272680 958516035 430739847 266709841 524386529 690249961 625176965 430729905 227315578 142058170 726438263 735443682 937892330 344843014 905035002 798076931 674153175 768764897 643454211 315101311 355411027 676935927 541653361 644702314 702802232 675057787 225316896 186627678 509297608 879565307 220402517 828539028 103143853 157148835 246077423 433319368 962229370 180144678 931370679 443449280 938127718 396287286 766329866 543225223 941847948 913523005 792765900 597380105 664597190 778337266 512827969 951924245 454719208 695035003 934234501 207571601 828775121 239580573 792763859 123448155 963981961 649256968 144152228 969709519 904537941 916780607 533502771 222433867 692988530 772997077 448199350 320271609 955321786 107512015 571183786 306295202 838815264 668452464 694881739 903692501 538187393 728607558 993907171 774952085 229040928 223582145 169288536 893864807 431137422 645576998 725178423 508431103 965059983 636801669 462654916 868736688 298105459 425370659 126874280 785739185 822548276 520830688 596457159 149961532 380398074 560428838 142547457 924985449 371663494 129717727 858931734 231174149 134446167 709832448 837327015 967246167 968292797 584916108 759357708 327384219 136412391 163233573 579469474 253487078 531624498 621594572 540086654 735302093 514176813 522649979 355916880 216866432 901906333 759728305 388467741 139475630 209871272 188352996 852555284 589954315 390357970 451000745 662440436 524250912 118458557 976229430 519859109 636272187 793989393 917696449 580650991 378143035 942036714 808079804 621674362 987513603 302850056 806330744 764276577 101704277 272712315 207016360 192033132 699303344 967167597 192676680 313188883 362260649 282881629 451489413 128442097 608058479 611323675 461051694 431027902 279916079 532710491 921862709 370077025 180852056 767429443 575407466 556781111 731632884 598863950 298692105 352295140 610996062 811840580 315906007 217743538 795671743 847695737 392604235 857780328 892386626 825001806 895116757 565328704 343879069 204798524 220361281 751248690 260097926 547967455 433232036 793535235 992038721 662697618 273879937 458219053 395121122 136206596 605233090 383265023 672660248 877242353 429442970 142722963 927176831 142153585 136848537 807221946 179678746 602110726 162200421 967998275 548568171 755407437 328810338 388986127 235919763 164186484 211441626 834199486 497594569 393303744 426915064 659434186 807791177 216304756 266119913 457908445 135507453 669559998 747663887 718194991 901155547 940179130 248784612 522590847 485765022 551248685 640180697 731943894 636201383 843471505 329795555 876094750 673894465 311918104 655078053 563329415 924508911 212316939 729871328 396970770 832734324 957410850 327182114 833242140 366475811 671562095 903256136 323196234 634727048 476545546 873907719 243968875 214108208 367155736 759539351 980897047 566433562 421252861 729014692 979138603 697694192 856144260 894325562 689982304 664201078 722787068 160732295 660231698 727804819 522674094 564003298 405286592 681265845 937713054 697114253 412888274 869193899 948991078 378595807 664653369 573069590 697993444 709934062 579671447 708932646 244391115 163434206 775866338 131868116 592823788 221502140 826717786 751250842 411035074 219976236 183162190 799717964 204013563 286063915 605512201 969307303 902663794 337836514 156078125 699737826 272261267 463608585 567697021 566098097 715268778 413786089 164020177 550507972 883968894 201802724 316438566 351031434 468077264 630369301 608155334 308509646 683341174 643374705 307852599 435629972 205321714 742252657 263266449 727007221 628330206 184424729 110959336 449363236 872523995 384226802 812396277 110921921 909288901 747161436 525064800 998520117 639273112 790984989 237855404 542858497 896997628 340057568 688751103 847790765 477281829 773220764 176833867 477586820 584016592 369429430 217489163 983899352 209748207 819290072 808377431 998136542 791732386 137870597 769697828 318825334 961109773 364746938 503319765 335667941 617853156 196531838 635346195 844382128 894921481 120108842 289038651 268885116 460433416 262661869 317963177 422279395 212615526 960502153 982060328 367924828 569920763 763364607 519941699 981303119 161061397 185119043 517018447 904568072 122001110 151246664 272387438 737038972 795694947 169263531 534430418 818299342 568182553 358060150 934470219 683963446 815314622 106581573 406850929 623574288 718290571 590283179 790530146 224850746 773948878 668282011 757800860 836086661 704781122 252969546 667474316 828485664 174802789 592113485 569609401 575998134 773150456 201480009 245129960 819511694 996931357 667994227 150114613 401484604 355237649 527807358 590175547 472476335 845974405 424817429 592864670 224282651 527004485 424922216 899258648 734006249 660850157 416528930 121001638 737050233 235184742 146321425 933783925 801637065 675351762 821616446 116817746 649923943 432371018 707703895 794761127 779599348 384574335 496712697 698394788 757867992 580860430 729359712 752704636 914695555 881511867 569769052 879298379 351799109 574176735 416219699 627670368 969100509 661324105 569454833 719855082 961809799 727949838 924450869 607069082 530465697 959493383 793814211 654632349 825915180 240466641 338287902 450687243 659176116 796125637 843308576 274103626 374978914 348718169 196191722 906376445 668556138 454542863 598113626 328495910 435651107 312598139 704276553 186291436 896686248 222096726 763695984 175561734 528533315 370087626 884182238 287458219 597125433 480718349 105903315 998342551 308393148 448398711 458076827 423274379 155948747 738956348 291905047 386093252 506267288 488715337 886323771 750548853 845772206 286727998 660495831 809440073 805958369 320458090 859971474 848545834 186235663 455528613 291279946 576339755 387966751 565086438 866199728 972668095 813362531 458910914 314800253 397524298 381105241 879985409 778060166 827931842 721929491 453240624 240440765 892721676 783930960 466209864 725526500 480284576 792549396 482272091 681872595 111980622 780740024 976876470 740224236 399388398 415282808 104517637 140527040 558345400 795286345 992639346 406750514 279115657 309028017 221632636 714090258 258489565 382854867 448910571 343698408 350435441 624499390 765603126 110661545 896880565 548617671 657300522 951448447 751766567 304952403 513888290 686722492 802768139 362713319 311975501 509285485 366991250 232555338 285466955 999597029 830704487 519709892 543610548 852092621 255871406 501060516 276203659 974097656 208873336 872636732 186121918 234991668 299305856 768941691 608991939 796347421 379203494 763355551 688588835 927350413 896712986 608414851 941111685 606178052 697640965 600611481 826602977 851737532 322152780 529367836 251985144 841581882 820378193 247370984 523954311 500958375 881333937 216501359 356046605 836687293 542214707 569312081 856113687 517576173 823459831 239302242 893424991 355828537 698098992 267415050 668651985 247074495 837393459 183621136 270274153 342770597 839269302 656135575 639749089 392304237 770825468 156633452 362291519 385789944 570030127 624679356 274233826 895740095 145784489 425799560 964472963 859541874 200297027 207881121 981193503 953684023 599889570 786420178 916146952 605955473 112920808 225817795 603466906 693346602 236721904 324261452 111976575 755054031 397083379 476917176 408995884 193681624 225983639 818765751 980146080 638647390 209679688 439063437 690539640 303313851 249640887 791439362 505103127 514893028 222035474 950065075 428671829 862102547 124526370 487816085 719233752 119298439 639432811 267651500 427057462 759844458 112447063 189701196 393391619 283191072 775086372 972432574 705475327 770112505 611042437 396449289 239877139 615070119 916164198 214658643 446763021 987197387 364678693 560534651 330712928 512842087 354533545 545960713 709992731 263636794 635221034 979913998 331470259 206849631 287251661 676388880 762661810 871893474 576453672 917369553 888571556 296069891 428083252 652363233 995160150 754294590 508041925 625093939 340000375 201452271 615437402 614006481 524754091 773347811 575301335 870817149 658528114 933041922 996489032 274191918 668272723 933381149 958793024 592317131 635293981 964069613 224650891 662228960 314597811 598397280 214450269 639751046 821511358 367566834 552117386 190543217 871559396 494232983 992509499 412922156 783809153 330541185 611009632 207753574 612257369 243553422 613395156 785870179 420273437 590280241 548409118 691021628 324726758 367038892 684786855 627325100 314908005 416736685 224589092 391574595 882933459 302425074 829854187 113496268 400286663 654685033 334348958 452151164 462621703 288372645 643239055 960510697 832283001 921163728 920372199 220542082 407457463 420636006 508938730 681712260 290187577 256822245 288213458 264367619 199157853 254150379 659439646 515166218 571595569 269370961 917824567 870264925 143385503 362858167 707654988 454543422 794504441 664577436 583027006 627289909 533960830 603407449 843027505 991697824 772219173 875565147 880929030 525146028 255596899 997520504 687628098 371616053 440553834 625715730 882667497 999330302 748595848 793259787 504759321 309339072 228494847 233231092 222642826 662538578 487879670 909430315 313731324 441339264 317212504 440373158 676641609 819917640 422501875 592690498 405552923 204845799 949736518 782327049 309683253 988711128 858304612 208065420 415250813 989937440 512354399 704040555 713761535 334125532 883580039 314744141 159033727 204337672 449743666 227443104 310414344 204534439 404898170 416079372 353232769 730556047 939480497 773566942 896174112 564328543 231165910 730765323 752050576 868546563 567877062 679203520 560366275 396361132 724109338 565471683 377934862 452612317 376559990 280043897 457193278 988120925 951366098 656444638 783465732 539855883 487516815 649636488 977961413 689128963 701012146 350736350 980787813 723082654 301402596 911178906 506446423 868717522 450549421 484480978 152562974 867025788 649203065 567683918 948200173 111809547 683527051 107500608 424145029 882073076 394369307 252543906 513430208 945801891 669208184 539200431 505813689 576626883 822127322 952635722 758859156 320901165 425420503 819453050 315869515 203802018 666213931 828608568 226731547 158448404 574466015 128495462 401790171 839663044 117474747 939774302 751218083 794730716 213684578 488762655 742653621 736723420 775367319 727058638 463683616 608638097 910320376 753371102 489043064 379393702 513647579 891135369 783736130 428134333 934121701 398338471 521183228 486625698 915369436 906149444 378775274 988973518 440653623 947035964 794088875 967483243 544323498 961161414 985048912 793945463 616177225 756580539 431224900 380422982 640519232 927733907 586222248 658092952 789863560 933167889 425742876 738392454 420776719 224281390 814882143 519682374 255163151 167271634 651781310 786845227 768257032 421247682 191909449 633293204 349070727 978872299 714071472 290168286 362051072 144491053 339494116 929114335 807566495 309528924 291263330 558880546 454716342 941243777 485658265 371911696 622611967 774574963 686197596 733771430 653187972 712745382 163111201 585381581 406692906 372760477 479194119 427008088 613231678 928469975 218876555 966159045 332772388 409361140 513506505 868210694 382662078 960073277 628498271 718049137 279008236 230658186 290362234 392024011 478502030 145717891 516194959 694441789 605863575 368216433 431831355 628779442 448133520 192689021 761527948 158299095 353623531 755142060 690145583 312023586 986617989 530106827 280899876 539988062 787851270 635200889 301568291 661043980 102975440 274281213 258922949 494084017 456958380 560029158 392530399 656152558 770448790 405794784 865169446 913762402 200690798 433578308 100886490 295779978 138715712 386733881 145959078 534172438 801345984 354457653 297864256 550486344 546106293 529774375 515283724 380234424 373030027 113836551 834081008 271443143 664744282 423403287 345593105 832938125 771287112 504253250 118839374 590301669 838856796 624057723 477502930 241343981 931949872 434399689 405943905 513369184 487852558 962002023 576768675 881706865 249262133 851925348 243176572 370492733 303912496 410328550 537483091 517112334 838776604 185198424 884463202 946163557 682176417 767589055 311891227 365502869 176826004 979180350 557868644 106313359 730512702 820164168 332631308 166669229 773039714 668326581 765344876 114422214 123598177 598922775 166584859 429064130 164672575 821281066 260451466 547576475 137780780 354194160 448092803 565143375 744749265 464123152 110840193 638094603 229694949 344121695 360612405 275611392 397898037 637291580 145757528 423818059 613509679 583107343 297250322 174122477 267566680 611773116 908498647 887894526 998299272 748070776 451339137 918351159 109665715 437954579 477491066 108880263 186636314 209634249 292162653 550949762 219180203 117901110 540507320 829030259 105037126 658593660 342738213 687213397 703268302 146441883 437491747 643174514 137611826 844487263 549541389 728632641 245125403 965384046 102997758 182676913 900653381 471431525 555599704 727786658 706043225 414586159 960618251 995594092 833947236 283537948 532060667 667987537 487489057 200959978 465059885 531358163 899539129 399020560 751598589 287757051 511991744 599400141 657862142 173041288 123686311 788509781 930714200 930069751 650750761 234573815 116909454 140041945 759056678 995786102 347310103 505986894 631940817 739295781 205604987 399700808 197618414 232503979 699854161 779203715 225907572 806799684 454226938 563158136 822175813 373136923 929629196 947937753 745855350 958465862 210357880 260300474 552784135 604023712 742167647 228080580 474594298 572611379 466049279 173438530 689716907 853949288 417871251 716263994 701923890 708822093 966836038 536829265 107594499 774279439 315063124 292249712 670688523 191884330 604504281 402219188 142681106 539609054 573324952 636117682 218925200 374348484 446776113 933929875 428407875 525819204 399310616 480692165 695748082 170498454 699956126 491599159 750777153 249045430 310890837 909693491 819416988 607502178 920795564 879546558 739845497 574913663 586741625 896264387 811265808 549609332 972392851 633973648 107423691 768116649 470642536 150140838 916354763 194729379 250879576 237581744 212887680 503763837 372914218 874529536 852631682 722186021 671198034 632690696 438100849 870887794 936014405 389094568 224602342 377640337 652591474 258927522 309893669 234207740 510651462 944874691 433212428 348942067 166047914 712924556 608516668 148156636 570375554 906140154 389790379 124228547 218421069 556876941 950490412 971642221 648791025 430015668 242247885 450407772 231440082 485043944 511477480 409899901 862373728 739557742 301106061 938400122 677080023 633425338 827378844 835361227 161627551 780158780 382307407 947170786 265320684 799311824 442709426 621206725 278746994 638155425 258211752 393808019 871922524 348430863 596484736 315843199 911687158 233555993 467262866 551416380 430641667 910036450 458210492 916511073 568095753 498184051 126274354 758074473 572784877 568408830 269005582 936557431 620221604 474936105 875296657 729648328 476177698 256971145 837481123 275534186 557500747 667258489 837840155 704437868 963108506 716371620 978932547 251233011 855836992 293514322 872114875 566183383 414604292 669057341 386848549 237963119 979494240 850110007 885170627 145536020 430562939 154257095 880780549 515926818 394160694 700921825 187643543 588137793 318267990 719093339 949467987 378010004 793429153 123957012 525225773 279500122 653182560 181699690 532437362 152612684 167652692 415413549 322668344 257609892 519961864 565417898 214734423 580782369 299622146 177766550 644912175 925162246 936647947 781213497 614528166 807799941 905832329 575323384 177486525 986446039 471932084 169782576 859157987 250688181 945589054 729762769 481689983 802596348 808326647 890204917 170826890 292984547 500977897 873081755 285338772 144596162 574006679 998758132 187725530 769673413 270348622 168072488 903546845 872477092 405868765 708633097 731330539 160014442 257934338 332825070 810143204 673272077 578112770 542766494 818918994 932089904 828824404 280436822 688970960 598667913 382255676 757012013 251070252 522681686 557122223 886884771 606719386 928476321 678888059 312815783 806901417 240259448 883058745 311715762 949641004 829786693 223228761 227493045 722496087 430632558 886834046 124889362 776685847 351393381 466058985 653730403 672130756 516553038 271873460 894983871 200338347 743087217 620679289 322546450 649091887 424733434 763945103 327446221 805902798 860737501 130366622 992472256 142425859 908390843 123354201 816582147 935216673 515831710 648030914 511787373 881600668 970062262 897196179 996047968 652571339 295098101 284635404 342841875 967885456 972500113 800065668 695067282 269451310 392001973 411659300 546303996 957814677 695097898 180327605 112154186 594818231 850526303 906696228 963849557 851014667 544334028 901058134 796522213 884940351 619390869 173686655 163938399 938276138 163141194 919648515 958765856 820046858 170147345 238512348 266751229 140162796 316290539 936068204 650872080 741008643 905044671 759049496 183019482 353257833 915880087 239578411 307257228 140706316 671903360 126536838 185497789 575802715 809506133 930593669 713496385 349655550 244511659 691928718 384842460 501158287 488749308 194633817 630573692 541528546 347000415 752426142 411646093 257831573 784745322 296577924 331803636 617634917 373676000 863498219 962818127 212361455 982482833 752802574 745327611 536810850 984868532 323087754 767896702 301041559 124805441 158333743 932215998 328014721 224693596 340176875 857264795 535489887 194843554 224217045 839953852 545575667 608333985 844598831 997694993 961185409 341196383 900755644 328389667 487338951 138135375 338904357 423192986 471297192 552764446 474716518 965762267 423389354 330648696 564770658 240305357 526354037 504314170 894032953 301823797 380853176 709206318 968882137 303065341 962254139 675169502 578445804 645997044 208056507 313043318 340222563 820019977 761922011 752218260 975503594 493262902 510880191 444401224 640715158 804703290 430949187 783528822 750032988 226764414 361957642 443383758 308882607 864305760 814120980 698393321 789052848 647387974 907454589 813327528 733882090 980965516 861390158 768257020 802589416 431567881 862460350 767706760 399512872 289893692 419635805 303016610 118910100 359133450 208239272 568928731 547879484 770508804 812470235 690474739 641392059 278418464 744987785 171026883 827661199 453456783 664085212 693259565 855350683 342997148 913427975 768606410 966776960 404615400 660412118 333782486 676580970 815551110 983441052 405335674 486248075 170706730 489469252 295116466 360958903 637231600 537022053 860162601 469013945 376555211 782167313 467309655 322941826 665808774 728688443 144767974 347942496 557367780 736677789 947944319 219267396 414145544 741229919 668418266 281280008 805857798 761308377 610853914 446316872 426989413 629326133 803757341 150456116 957946473 179954544 493848360 385886432 936383251 854869701 625191834 193433671 754954300 802751271 324742444 633083560 733815329 883413394 577425395 104866911 444122702 878874301 293044903 547926762 564331037 164407664 293468644 382752190 307428985 475280719 231226138 568727004 911193869 949998168 672052620 826047160 369044337 327829322 302075586 234355353 630430740 595207698 774017009 919727469 766793029 457496131 703361922 283599402 371696734 262496552 315493127 743830999 506862224 596268804 238590439 784372428 847172017 791755230 134085800 930738086 585119698 820550304 950421547 383784832 871684646 408923633 760075991 690991909 608184434 491556221 472002470 446014743 702920709 938518788 440330949 154460652 614606896 758849417 394078140 414675729 510198154 985234437 334777974 301357732 243076512 988269312 738766595 407716125 750366085 907676609 388183596 718653696 323000072 587742049 113650038 797561043 715460064 236400742 306909742 687462712 699588463 981947273 272666374 980978745 343994945 574573244 598244777 509827719 307532617 780279194 796744187 507162189 856795122 818064791 683107540 420621895 461214787 844232198 128775181 609362112 357015264 113571696 919985473 412638732 971274157 813630096 612165355 104632802 375532692 652691362 231356240 844405250 851974966 748649896 302948518 965141257 579154400 969018513 912538602 179747172 148645384 522344533 364558463 509300169 630784959 268440200 432252440 995512008 130508070 576280007 913619378 935302731 663611098 520904255 393288381 278639137 872887995 862446056 209228146 930426830 306974389 467012112 388179341 862001780 477849159 221285609 924940090 765911318 323510680 358560248 425917555 876772287 730280362 686705581 473577624 606719320 668683732 485034481 708191181 167127949 334873970 248009798 211198588 486780164 132120167 565423456 401093564 358766521 313220076 146919696 760030780 529568171 515687662 998011258 444224772 451718633 833148055 123100414 230832961 972828818 898206450 169503057 138355665 795742831 346982381 696927076 882665876 172428203 190716482 364336734 861583815 897312905 597127005 746092718 599906786 915286768 566083507 416953982 436477128 862702833 697842231 316898089 879922931 808918175 726909486 165726254 858722020 403293651 831148176 123648822 737127203 151168196 607452785 483838353 693526165 449870108 982341410 617755368 104487816 323237215 858542119 473366257 136119790 192315379 365080483 178337201 600985462 791828011 852609270 873037843 676477561 614312436 646401392 488550359 187598572 916960910 281031891 469044448 115213391 456980787 682836909 841275756 665893687 175258926 575152472 552779822 631080462 193400779 627701188 980605242 382556711 487601877 592519629 485359782 347854463 656118250 535407427 478239319 805165411 514742745 231538071 300123291 187092191 337942013 802577597 850085802 968638258 159053911 536608510 795136433 673139564 226723061 534880704 591494102 418025039 910428729 764576713 481025889 661810477 678558969 537595892 816831992 641270769 123263992 481760908 583081789 924463765 661019179 391970900 631762327 254570787 456834458 130025267 871021114 414475615 963945244 584528098 309886914 851270050 651236243 330120477 955031064 123452280 511555765 659597277 632105967 813787686 116432577 866518069 338016990 522582636 607680104 626426571 616867820 889327522 652144163 462615204 630566427 993919894 331604810 410379823 907399958 679875202 129798523 258870692 591344823 962494416 758797190 711468023 918528199 492420315 250926768 995283664 668611505 989423919 477692022 521640159 930607995 983548614 238358271 877126104 308448977 992310263 612284709 151339546 436805843 198099619 500868302 631099626 934165309 172593172 403264911 120756609 479502652 306266251 559648351 616455790 831961673 348247729 168602453 383683991 642521625 452648937 330513646 898377266 518841175 661680468 244313559 290379930 383700186 272272730 615437544 147655392 679093083 582465925 909419232 717865205 739683840 926659952 486059295 935279156 766240534 421730637 620538466 257936757 170407119 888600766 618568695 204101118 256159083 712096425 519739536 533452592 988613625 308189374 856899789 629632976 997978027 824623526 363001241 802758621 355598037 389539060 608006319 982880894 509889050 382900692 676899679 900779871 654396204 302158280 647453119 310582514 637480461 912672544 824344169 495242798 484931056 860806989 133714035 802839094 197462094 238780424 465123522 598818737 505448621 141430885 442207009 331629508 939668808 517452547 189530777 386562078 299542204 773327549 207141548 172993307 558748573 272559368 586767099 948165210 384780585 969283679 611158309 497794603 724799718 876396889 994418332 955148445 622655847 994302002 376001076 255820718 696138972 503502566 498746002 199050939 410243699 955613626 749687577 668173246 272196899 896165204 195877200 175502824 750744203 454030311 676270704 998626557 333243827 647823937 658022696 480237905 367426774 674848150 339771567 377546647 470819360 334233182 681213025 217816940 880700513 214443141 827442895 849394803 859919686 605766376 816309646 742446070 626030500 906398259 377002303 529807424 696319845 347383894 827261841 678335181 768753145 679456670 787596174 337938998 267738850 787862361 468051115 522779591 884970329 437828786 423178455 900751740 567575577 857821799 530481336 487197065 573315310 804688693 320717421 796617763 239283290 668962986 670478694 785860782 209532454 440244695 479131584 843780161 729931676 222814874 817288157 324860609 109167536 554030262 589694021 977399841 981313337 405103713 628939713 706415423 320071309 988208124 153106304 375799753 993983325 944872211 739136494 198458414 971508651 282715575 737523564 415677814 357154419 245592050 430687800 205009115 419051811 691855818 126140539 575346662 229338080 278587713 412414776 561032109 210570159 909914179 931872115 965466795 665308834 951297538 391967776 649268025 349303304 181207609 614651156 567970909 238326799 607739200 209783475 287496095 581131859 946465726 892717834 182382790 307076019 439257690 515983498 134966157 361275155 788807151 198548825 325294154 456804083 572584105 357621305 998889198 765037308 762508754 753900575 715208425 557553225 672572794 509177064 740312214 190896891 413996271 549662179 416100704 929864642 196853160 324752739 223224777 909293646 999864637 239227708 424408699 545676036 349048005 248974611 724918625 633647488 559881730 529171929 231970316 358014741 282820762 645318678 610836586 729510982 240112478 969282508 442057949 665207946 157759740 195598505 826712256 650257811 758198287 944715800 504075422 584205758 986641280 257194184 533268911 405215051 739578304 250286892 301805093 329245082 295460672 951067074 100423374 128915228 224574216 507830162 642918441 902879878 247040750 464960281 533835886 143980189 632009399 523164178 481184321 390145277 445876311 573823258 209143363 601359991 738196719 744899272 626721084 853565463 383033988 262586694 902507715 797550741 551638577 547234034 839925905 197240774 379054852 625507526 760797343 111149862 841714866 903785348 861474009 484705011 745795358 684526242 896258224 289771533 544119298 997737433 982229836 484270006 737120693 192736892 406719928 951291487 607832395 549195195 452436093 474796323 385702501 978187292 908902871 652342917 540462628 923157352 140579957 920133374 424229428 489049653 793282536 794401163 426138037 288302468 448568668 128045317 702499997 369489406 262786504 587527617 354872315 524029770 781314781 604089396 742620221 433785013 126704578 439876987 675626036 310646857 123106593 277381782 612664245 211464189 598359866 968456934 663084944 859103404 936672030 912003311 570072023 131735598 259966283 843534988 595726770 922583619 762392744 937100584 375478423 111594853 605459341 955946526 166175826 237284449 947726146 868313044 661774388 800237412 733266565 920846405 172891620 896863194 434214925 209057974 566826871 941447313 649648877 502584438 125979694 370230235 321527979 690353602 699765337 991201657 793017951 783432149 400102936 351236466 200909779 239623852 157569747 685432522 851228347 807005718 936780540 485242376 373774912 811973951 562172562 610633761 108327961 779310022 570893948 786730815 360367416 249189458 222887546 923085199 164713634 998804873 559626457 642119548 461372775 891461894 155873481 537273825 191602553 914996397 314590211 407684016 940316487 907398314 584096504 229544662 846489452 731444439 609663223 461490017 527243709 504592442 469756927 396211828 542830564 217610390 713660982 816170233 434953944 286718974 666812066 145956157 615040868 863189482 654868013 791678574 632720188 499924565 440655130 546246068 850489699 362713601 339434211 375435971 553973133 529615975 259636053 389003403 861579382 632392547 640709500 900123064 450583285 906575427 408029637 969539020 749810541 811102928 822698309 839170044 166436041 858734147 434685250 829662835 987401024 163892788 819623437 259260936 596490512 410550332 153858363 595191887 684508426 924785630 435229689 620662888 377928396 609294069 788397686 374109174 757208336 993377124 771839836 549051239 383890147 733877251 435510988 639793243 115054261 488625703 448075586 174745708 698601849 386576186 801790905 558582378 991059102 114718950 528442658 301765621 330018149 807882045 163563812 100187895 718374376 100908093 682605233 246057142 549254356 637102618 518846659 406798424 262689857 341421311 494571901 842530275 898228926 167902024 934170595 867399390 192697136 734023303 498331980 358257716 587695620 680657529 217155750 372577690 177902946 876316309 462542026 547528029 497239687 861839344 504820894 453264741 193291990 127234039 149847571 847467570 190599109 695468578 264841612 858762321 145782196 444144113 109949788 610144573 955041533 239569077 429409750 424676633 822928678 249140809 617075555 748036640 412273535 102559804 500039771 742834997 481851180 429328922 578763485 943675677 732275752 876218488 565239678 217991332 376186285 780989006 907596661 298782400 854280713 358769503 992798469 855314603 327771166 880170134 692932104 842405117 967709554 417083598 277766368 664846805 330722685 869719562 685070140 885286814 280601505 133419959 222152204 333481910 960314888 598798435 901139777 371483811 228225397 752514739 675463070 528819114 377196189 786718358 349973059 804634261 519659727 820367666 336692070 917717262 989366190 544016601 927085579 548102994 994390501 941953194 537296491 896954097 539235836 793888400 664637618 553793001 873461762 875940492 301387376 993348847 143643537 628895004 986345432 526305050 282764483 758625076 394032441 496382304 296036636 493737954 456945075 573737794 986080347 404725872 952646144 944539883 963274630 850629001 832541640 499427070 223164359 460949841 546693714 230535615 294150303 168966246 812536446 637069544 670478939 996409480 746910368 879603614 573133348 739516271 398262492 672460427 852437334 623692569 195858960 303710831 253863799 933955752 686362949 286243893 151215177 176688433 587393378 759466919 559125617 240617499 336744710 264081911 842361318 488492552 436381255 143130691 942569622 752527285 398474163 192062096 483686966 941082698 190023178 322348437 912866561 418394603 484223152 598731724 733134673 307912153 390838286 119317790 542391700 907486527 445288362 388033879 516449469 534192379 160828069 158907973 222295312 411158687 121813382 709739524 176960622 618827888 649517065 291202374 699202365 715127389 288892725 449312963 913325172 660727843 255239649 842872434 366386415 652559958 453881952 817443834 754719020 221058645 147999754 594138612 454554883 231134303 749831512 120090262 529548038 598520656 204197891 589275100 617366503 953805926 894086159 653588459 167781165 438013475 854665288 375790009 252045569 810232163 837939787 768433350 818535497 367717214 900490818 928286624 701733193 925452401 617851777 352154187 140546057 743445336 681923963 283957707 189433712 584848465 782108724 217474222 374115646 909391029 601945983 672882846 223385390 232309493 792324018 253588782 713639277 171776376 504308528 149877922 732398570 109894142 798795264 763082852 462743780 779976533 576931866 875765676 646785796 974374235 956860038 899882141 956723592 982058644 516050564 593642861 322452483 246310616 742391800 407674394 591030026 469842842 657067102 244891832 354550996 545141584 426710510 288289493 403343584 949824546 565793412 220479515 439152723 490227852 795238011 988638805 333204156 888492447 835398409 311751062 131773597 343788043 324008006 994361096 557360525 146948566 424904540 178992152 430884447 548980641 275797313 341681966 979447573 818063736 782550575 101717313 139171263 150711174 504430636 186820639 516765404 604858009 971733658 980864721 822046645 346130438 634174947 471382754 143740993 897431198 487039173 488520743 359382425 998577505 340615076 560203315 537655956 406914446 444699222 211548076 641541404 538770621 516648734 150553259 153914230 707155964 753539680 565513986 992258943 928686463 720998881 690481258 807510088 594240965 984605209 215299123 623709082 146111594 756251170 718678328 307374889 562552938 871788805 155720255 520900307 595996370 250806032 357877944 140366390 361311598 368267337 857935945 827185539 593730580 187347156 905201185 353956691 722329553 278671197 441824239 382942378 671460673 600209988 519961300 832004971 641275488 451078949 420856598 275357244 252872622 512324394 583835561 612698509 591794963 615447738 806156421 243537587 488791806 489115275 703373096 237611189 512037763 809920755 884213440 743427365 724913721 950421156 605432264 132492606 830023476 590917070 210850523 702754914 664502264 756373807 576465011 734448903 201441774 626658940 184617200 101609877 338977750 715277625 229370364 989191687 606571382 603636604 398481250 511533335 932454388 768346841 362021060 780355971 472846887 654261432 570510042 342513881 352624521 575200415 554109984 944564719 511022653 808509132 605261870 422531376 847175592 973047834 838402875 349910936 581163327 988174070 110861914 251863439 988028600 433493084 236858462 987804236 606301658 583067416 575067584 484005434 514330709 658446594 986013037 609311241 156505760 426899596 163425477 621117656 735623484 655839176 783798460 201625172 785141830 569595254 895230995 131703781 328392135 128042249 761312434 719924997 327730842 786334353 956107520 475635153 443286269 857413608 991428760 698598995 802169059 411437493 275453311 616505882 880178496 703455431 643902190 709797904 303889235 946296544 202635914 868250876 425243558 587651020 909592392 721111050 600528090 993890302 478307083 488962552 503616679 106655191 533462838 508785337 365920039 331058190 175606440 468687916 442594861 408563587 252934997 315887114 514223130 411028591 850664199 323439027 127324007 135959840 400658248 162181330 465278424 432887761 226096684 228878791 136857404 655617672 285230755 734608575 998678462 816982881 842698040 499158870 926704062 313481021 953743472 410977152 630455412 184362393 652245845 640586120 535981590 614973229 297056104 962805163 319510032 931420757 837122667 887173770 625358724 955362826 329794242 509179971 633385563 707045831 399303498 142970910 418742539 911172677 768746686 308335460 440173952 232581696 217607843 124807288 673823756 798465528 376377361 323657552 798421073 288328795 730604391 599602336 547323245 458559809 879434291 806051270 141387800 906921607 394654274 182478317 565105438 679564273 789214116 762108111 313761069 526121609 714259898 154480877 853717426 334344098 112230740 202557418 130161719 457467442 328831055 620725568 969553346 589670758 952755116 366529282 705900138 335485759 523342803 335021859 680301489 560312573 619414760 797938047 160050029 135204036 807139423 267080940 297167576 678941074 595633332 254189420 307419256 467658407 866510033 351500731 504045627 750450464 926754552 369085667 493313126 944645969 756777912 852947677 363623037 663422043 621891602 846534466 454296823 114627434 129813095 807808330 914195213 912503804 907998271 686822251 706524440 960724770 932486616 426584970 292862078 599033803 116350331 982100734 409961745 300935895 981547841 469481846 364224712 354259991 123286899 108415246 360147303 692868325 726571562 935264989 960839290 536084922 205341491 494029011 823145671 534698326 617635007 426772512 419551853 118130452 204400788 463087344 155343926 754088298 925792687 887538065 760359681 732133476 909640738 982547785 543427197 297348679 129079638 330186628 904687853 985975964 838081926 183146373 999349860 476882901 596341469 546614754 950534099 628730566 788039412 376323540 595461416 938792279 502523451 835308269 369804111 868491648 362934327 645889521 165840350 634624028 192070572 984855730 780382202 943798386 910570893 759060258 405015582 998397399 457597364 680964151 470335997 859702439 607721108 278952911 105298995 746064321 715123544 996238162 707494930 420929229 543761144 218310778 144558942 995086280 402323723 634856566 373663405 902034925 712190276 458233450 409318313 392012754 964741904 979097569 814178765 485528254 410650151 676043333 790773852 847822149 830673358 234904396 322338106 433571188 262681196 214173577 226077740 620539701 255344860 783430822 656615531 606552811 755876043 767957591 834167549 895015085 316112719 170915220 829752783 362905959 971029104 495865653 263053721 218579814 191415038 533229987 311781339 822106786 301005066 175435260 147451559 609194437 550365121 133698051 616881899 790158505 357431212 201506638 693262589 169337301 947838439 400584814 793607300 171906120 218093582 386763546 133590425 428658001 429010119 256054006 907049267 513674707 193637789 231820276 901036045 857986464 216584641 505465130 836182171 321767312 961271378 199098428 648137636 150755377 741935825 300233851 296198105 331803129 883404993 819994481 890646298 407239017 724043976 335201689 991912620 948497591 119438435 753935235 942256226 291776371 793180973 204394762 985943165 924907106 886345251 926023025 945704354 736796803 859245652 541947439 625469210 980780824 410555419 111712202 832049740 209926039 100466390 733234016 943627563 399427988 471556950 732626482 744069625 541530224 303350565 335427363 772640246 349284849 586183903 977801399 101325739 522518078 451253180 179063807 358461851 245628696 941788632 707328413 266476809 950775794 975112633 247084073 376392470 381523998 873063926 172288519 465898637 950981251 136893716 967960786 999881083 561999685 979722190 982661398 420035606 878568281 302723493 676664613 868839286 906696707 660591724 251140049 428380938 778608179 149140354 677824853 818553101 141366678 560035210 404080266 625251433 110351753 415582803 858755656 458727911 434443559 525612119 324590289 210742448 752068461 524173871 868573668 121237889 873333723 961145862 504994969 289928861 123237148 189544232 127180021 866341402 598463910 557117909 607960044 933238631 868571809 250120120 669263455 103019429 235897180 700124998 703640447 214471024 721532264 434944985 881139537 824833056 548190569 690695253 852723131 979897717 500488192 684829171 941917578 237591682 182133714 215312272 655532572 573198013 827401583 716051380 642634541 675822018 196432784 165312520 896680847 133711231 643296705 663957654 702857230 162396820 852041833 518668464 693463666 923203671 976733104 809008918 569160239 413219230 728147138 157730091 512264338 872842883 290127723 265406264 103513981 416884346 751189965 717791956 951173683 830291343 213699569 609410460 511110709 840691753 731177756 532292114 870563668 860529279 377655258 624929302 759155364 537943764 737114349 248930359 313592653 472453141 316666387 277992050 618673367 288652831 495407908 674125598 505636053 475768701 904774758 531334118 535540348 530939232 339877455 941977595 835239212 888740241 200035528 399919598 894561601 373479769 310646169 142377332 340787831 732391637 606635184 180235557 660951902 180192037 873071961 697164917 351612864 397916911 683939686 829471003 170320644 262028248 847323288 823508230 249987717 847809665 197698467 918596232 800493355 350063692 339655106 196242000 548477951 559778498 537744645 317691425 120334993 511397277 548239804 984117823 417281052 676435031 594141638 385500486 562247021 584848349 996203054 198814328 695973371 433766918 588873808 566880800 573347735 346016151 643108700 612962478 323575547 606047395 999023641 908385738 449944322 621702296 523612996 105062957 580122011 625643989 298003106 391011897 181158084 984917979 392727669 499284686 766002795 189289192 181570986 288501396 708644343 828820933 192906707 165619921 295263721 179483730 722014529 764925098 614273416 585728062 158252047 957391936 593311260 592436955 481693496 567132806 470776349 967793879 581145895 841497898 549784418 820143284 496096861 899207718 524383461 724494386 567218659 727010044 535502146 376574163 106590610 131280366 275913062 903743507 467052396 451536660 912261064 893353319 709812889 226009156 549685420 445386623 458854985 490066649 937879366 356055730 405696811 625843045 757885068 622237869 716823999 476488476 550727315 421811752 916990462 421781144 499923228 903149001 789358329 980697545 115304234 701889172 221488993 117950062 640899567 367925716 903185595 580439709 164278720 122869707 442307114 871050574 990341467 964602602 911050773 291929162 433400204 768078629 490266000 657731562 436355299 172542148 682688778 346636264 418240830 422411917 413983385 103720504 527884241 973835774 543629159 220878283 474911216 823278077 881310379 348625533 347531303 638789700 554844036 860886129 575633934 483061565 883059642 236900161 373500541 891165263 598783205 766087184 578924919 559458825 490578688 639708715 525298946 774780853 959271071 417879215 891462724 390246703 676541399 298776571 979453000 443430092 779837099 951803257 192718667 729775144 540549493 930246216 156871324 997525306 128343043 841362669 554804786 765660946 556505309 944644163 689663279 347734189 856109810 934168865 359213144 743313345 563820018 190855568 977031137 712618552 394122197 760955098 411227268 723210266 577800067 290581773 263835993 618576269 366860388 277721251 862819467 349154139 542810738 886447256 304159808 632302633 203943067 728079315 774062335 514675370 885052777 849452555 607231178 355766798 477193550 820908310 929894252 957187629 972250319 158346961 833597218 265072320 861498658 622111514 994328004 806242805 285789138 215446322 232828242 682432048 717025882 551000944 306543874 458207494 312021305 915676741 594611878 605320604 825116620 613950478 336911525 703736296 763612781 621601713 266296221 459947642 562977921 202075130 920955598 400988141 877884280 590052851 550401879 684464183 835395980 663268315 230540889 918261287 382641158 522159712 672436944 285084235 771678139 420998400 799743647 314833214 655009796 801892743 484519591 716976067 635639660 988978147 177504753 338458752 619584915 340137189 958310480 537367194 917183590 275441731 972302915 924990194 536695759 729324243 986485206 686691711 688768845 609842274 969330159 921013076 306837830 310710692 211280170 802063729 650369887 405485985 235108094 207472650 656073165 561789411 254918078 127169098 881578971 856789973 983891468 738473131 551708018 914983773 616843876 708055584 126732550 849423422 986849414 768873627 949105639 467114301 175823865 961754401 833237342 980117840 717597706 626471213 920090698 504908705 551369117 649575293 300376429 397634175 325864044 484542384 252490435 254668293 416371178 298515542 955793938 915651899 449759672 557161131 318763315 616662951 396428067 268499204 463980035 133073472 708715531 533906275 923164666 927425094 116781440 158165839 984558029 645792259 394291331 614781236 225150187 491830091 405976816 118575280 256777252 673495152 286643345 299942354 841909575 482468683 488396515 156434087 370453908 189278647 760078883 500917361 444675747 700304333 822603645 711136795 799236282 310728165 435230634 694061584 759544030 680270095 794285082 309403933 411669363 457139344 558699780 794246068 152467729 823155876 605983078 610581133 634510293 266033846 589887596 599848388 513193575 901917141 482595775 649036321 341075406 505568150 467278937 475251391 471162417 835013712 375070487 700515403 189102870 256062328 759078081 751103100 600346310 951181415 923433077 993885760 259523424 895767374 995706129 736748644 134611783 306147623 576901805 541480788 890454394 306737430 616169999 682592221 209715510 965268399 247200220 606011247 314848176 118072859 554007604 574202499 178380945 255048874 524915035 369901113 878103353 455958409 693116860 264729858 778140863 995390529 853918355 462620359 406994194 440870251 628635299 472239527 451044268 756936330 877799877 112643202 512030259 777514673 964380497 574186055 547761514 598328987 874161953 525302902 510104255 547127530 235675494 549327073 313894270 222038950 537165237 713735696 407976153 735353656 193498884 937130890 310795374 224434476 478335037 603013734 769229042 546045881 576866729 417924270 366481899 740722296 141094640 180978700 591626514 367852447 209458014 401022511 547628731 387318244 596880526 154081935 571010121 678911502 495295603 398664468 960991062 968472485 603711352 178388904 866600417 837017372 228305110 546583926 661402398 302745632 126885923 714193704 908261784 691552275 607563146 408428885 679979100 776593663 101756786 295546766 159015140 684452570 415706948 608038538 252477189 572438962 379441561 687013166 399248533 144083637 106984791 629211803 594438085 222310134 546686627 968610177 403047859 918856872 141373387 838245172 552138672 352602534 645143386 365055963 948882896 776672938 961462965 361418723 369048279 502585057 118179563 548688114 910034273 977366332 603015431 953447561 958602030 407197167 296867552 944948968 792886328 399468284 151775554 628413999 320084266 718275652 224223693 507258962 849443714 471201887 784081607 422446992 146600678 643730720 826264012 900134589 755603006 351393251 539810592 146545712 564355171 193216571 695900046 641626177 951823556 701959272 922942011 233138658 561826601 431393038 836799584 964234480 992328656 685733659 586483938 679720189 704623780 407819339 374168981 867745690 621269849 379707288 302859188 353842878 439702986 246302458 882613724 370583194 487582221 357989882 481024299 146760764 591937765 316066380 325567333 441457612 700484971 763275185 239305812 771201728 843960211 447916498 340589530 187844089 753312671 679607780 976198831 156205438 406337260 193571722 204292094 793428360 315542079 975588255 365111797 472443974 340740036 628324804 446162151 640394837 754359715 669740723 323942874 926911614 922988005 922943617 907390049 497906601 611946300 941192543 821372186 868287644 146355615 717869819 866200007 218631964 825058874 956240167 758089733 625236010 405204288 896290827 160060705 323441423 323556376 305833900 171170148 950467451 374175626 495819397 571928018 140268526 520760742 737098114 181362152 777202579 839055560 627040721 611989887 884014668 374239843 589422066 730578650 931292028 836962172 670214491 179318877 961244503 476346405 812324588 701814112 164599605 544912576 140191316 812571736 213294925 791082708 114087592 702346396 842335386 245228892 354155834 127482373 841255193 191243086 457420768 792866848 640705005 992621178 592105461 203746048 828818832 322065197 131946793 582698561 132983387 430380262 771004043 124423266 218387057 327544283 888548485 810931818 413290732 343565854 587595176 785139362 598310027 465990807 181767384 140947512 832348861 394543682 972668776 831273543 662504095 875368132 546382590 174306603 946779046 119595686 266953930 146117444 114226950 966674617 196943836 217190732 247068988 696800131 610522405 525133763 628053083 635599302 250830039 448809708 364755597 774851662 406507699 394030464 213015597 538662576 705116186 916851777 834188201 761873185 368876668 844131206 380963473 956977127 387124874 319475014 547070129 432467281 710419914 410337889 973193143 176686731 916355800 131821886 808648724 811526331 933358118 462311984 344343324 587285499 410112569 408215792 243666738 924869336 851765110 780811570 772436371 734186002 114988805 922040555 784053005 359300745 593202254 523415706 181766308 208509438 254369902 205394366 821389507 733903590 138112003 655125877 297484269 718486221 670604190 443053917 222116589 236375333 334505048 267004391 753361577 191602448 507808577 857049922 848768775 953516360 945752448 328646993 952330943 371795326 733322392 171546677 454057953 727613587 719049729 333926733 918706960 647735720 597699025 951732139 266891826 461949562 100544056 184980625 331925719 320736844 931975314 422667190 768909782 861789583 400605081 789676996 100530810 536970041 773200793 974188872 991292724 507978211 732486288 524215291 219327111 331075697 984060618 273041243 677148474 600561287 655820142 474134573 463424359 135874971 202896077 428463418 134124493 129896140 461712583 751646699 840703664 691474301 827186326 415885291 779355488 761968492 115011187 985371948 675090117 686281800 347667996 311894541 988954566 169266486 536577782 241333974 445662596 689271650 369727520 169507894 213999625 786841928 844370668 993324055 851983085 504059395 457749649 119494398 672390765 320325338 901565026 897239878 786540145 771450784 458262611 949281971 143551334 585031394 368008140 140679717 858367395 710138677 706408199 534358699 262483877 440195801 695228306 943586523 919915789 271290566 971936871 606174596 730259694 188617299 688680938 598798030 713476830 733975644 757964648 264450682 427915125 164137516 595779702 397597462 782623437 816725105 422087649 685758868 980080828 635590278 781657012 572890752 971046488 474115145 787347782 510334861 839759866 997780355 135421983 437401445 290839649 873016095 584151537 270056561 702984510 266023248 189672621 536589805 447254618 614221160 598577002 759907422 635603828 947416394 183731355 966622371 150449743 623290899 527827075 173539853 912767905 376979004 382032418 547628469 785385182 192949554 536071994 288912845 239896906 319893106 160178066 521875035 736206771 877185717 507509540 788286840 960274409 829795095 163678996 116519263 955354422 259682566 845362495 660090233 739341956 476084427 788981662 288841796 196567704 572060107 718756735 167022861 719288973 733230640 326345206 466034129 506608236 210022991 439794230 346030554 125429470 965957233 489311932 701239358 534982800 910830064 285961103 114954472 420659307 633219724 485980539 842129316 795768395 909777685 370819618 119192727 404333685 463363228 924851426 551193040 799136443 957420820 138533936 743200290 491249947 277311617 256628251 100951287 217699317 693013875 539335762 309849375 819769890 604054196 563916946 153613279 712487850 401861039 493509192 977107145 702511987 585717562 461602441 529883588 902810224 968314175 479835130 961432282 897442458 372396746 406325568 417844685 957505675 706608322 395664860 188484432 280420602 268776924 885771752 317061427 246798974 611896908 380570824 472763239 414026848 573762561 600644188 584557856 179995992 589215913 569795453 529015403 719995523 672335887 407532471 263163350 924079669 740191347 729366227 268357173 287886429 492820535 680484090 411305943 637686369 879169755 447628450 982454455 353429500 886195573 238389094 314478801 667428421 634148785 699241955 336178623 333687166 816297921 779184836 200133834 667176225 476690924 788312987 536957077 183613699 852958924 525197376 407258223 604874730 101050787 123560448 782229956 645054455 241920721 181423251 293284117 759537495 890264803 937425763 563824753 270195446 330679891 368250958 839546889 850439990 141905743 169273728 331386468 331062403 974681013 158943243 958877645 364723819 389304967 155937598 763328350 217813813 119407793 822914987 919449134 458007462 994021283 857775670 937525905 464015682 881115533 514943259 984675202 389908746 897687253 468741509 243661952 959479488 435425646 721282863 894307335 776584523 379120378 929151818 135725316 733042361 941253966 763387974 481667264 390550352 365815478 293960506 733575538 309585977 548907336 960829381 846245869 170724655 376206741 424214311 759633081 967165685 369442202 370830095 805710790 376745687 572837742 215051670 620100959 791557425 932487848 855277466 934952804 339237802 422177633 782465170 585289176 225754462 472120821 600233062 732037723 268092906 666234931 906597618 766049432 187006808 675181125 443194174 361011260 378453299 611501482 925298189 510722673 356900448 900618231 959871144 900155656 905379497 105221128 306751814 816098760 426230581 380872312 409504213 385502901 467859086 337189084 816597337 163926263 268191359 235588988 296188192 103915281 178509043 650451157 134481004 476543717 544853897 149606016 395028466 780503851 201091784 686809847 930078706 324126915 443628608 667319935 155607035 671247676 989992758 660599307 978625019 323144174 419247378 787568198 706192160 481623458 301624350 859848632 464110050 708635960 896274914 362188134 210904698 744949125 365352104 200814533 839092034 635690549 177505708 837919608 435471847 925010595 727269679 434376129 813224135 141623909 403827546 297894312 213871468 304692855 733838845 214958595 775621126 797924252 347007295 146907542 449609636 888985772 871797438 482196798 534154992 214015092 896948371 790733953 748141584 577240937 226723079 396928154 983794072 295907993 562293534 794194717 837341369 958573166 570043533 758473873 981161502 881564603 106154266 574517488 426609312 316250055 724914706 561886570 757685315 192515294 530081420 335231700 151607546 759429493 801729390 667777439 603050045 530343982 443639145 364566647 900257178 297369782 481164136 712999412 545707347 339555912 919843132 761376985 874120454 804131056 858844388 564669865 957982259 999841256 911387178 950501976 832454089 404994338 515584837 832167566 505088462 464567988 518380970 486305564 463173485 560213008 152798083 974833562 747969257 328874120 864115735 989204647 258648918 519630196 119476762 980985363 502600092 325664841 557990728 889450681 388855047 985649245 420786012 132256708 480939028 649805738 312809375 197925140 391879464 929895379 898849472 996952520 647316188 430383770 619261662 458442772 179494791 779023521 616997173 567157563 581610915 815738584 886464812 370424145 507469032 349690970 107091442 170567992 370375837 879501236 313096893 960413606 688814586 640606270 700153645 739686666 792586541 853752300 664068483 252477694 334629706 144529370 603892404 643539995 140580650 782510364 236671622 642493869 605261734 331095740 311024105 476068817 202287679 938049757 780160574 718831224 149511846 567368674 288967398 916998556 674417536 934291070 181519439 252186166 296912345 702034165 621859587 459036420 607983488 743054439 209943401 368403053 732493495 229089295 789824990 183928141 474855251 173363792 505391532 101430286 587172299 680145821 303693765 812466468 907261271 712082150 537342859 651886691 724466263 766160548 649699748 392908789 744812343 370009105 856720313 536045059 509934888 712907890 358980831 496189648 586630565 986210024 505241811 569204267 869242900 214205680 292287290 839934891 634808400 764222723 367412341 769092811 590503348 222227864 243354090 742702587 774930212 113069441 358454638 380303599 193993024 626778333 367266437 767554059 289319749 716742183 826612601 390931485 813208917 243863124 820275145 388854591 207082712 332907800 628091105 845222738 836292541 638946142 517640962 797870028 636308238 707747419 286770824 395911336 555675885 550060872 500846731 811902945 225137775 961601098 412563578 266579579 594103081 492259526 390611204 194171589 875354972 820221423 771508816 950862521 674409096 220782464 799866048 411346116 386182395 629629417 917863658 401590621 311501423 520379411 472194084 942502572 390388263 367504058 540676013 109669856 145356197 775667029 822435613 186889397 111397713 630795728 530033081 305635406 234229909 846184515 794116747 749819013 591689113 550944456 315347801 852988395 502039377 709562443 881059579 616894086 952846113 317595829 334211031 451979402 965346410 344148811 119064747 477606955 951441490 896554052 959957190 957396071 245212433 853988087 620915984 519036091 928497432 877687318 177493089 898096066 200383869 411471477 189690411 882398868 989444645 854681561 861626495 425714424 929202834 419262419 649974594 617611283 270052196 372806633 638005433 955661151 869570908 638620103 493133479 405673674 155573635 954700164 240670552 935104394 315599557 646234209 850575171 337590997 701647237 993791601 926550142 953338345 742158250 149450589 208778590 569524918 736762011 348356501 178752726 727795936 383672936 631816580 188091550 729833637 177605345 360171985 724007817 641525411 233527161 868630940 802098141 189542860 771551797 144436476 502399854 610657793 176114736 920615009 537460226 275302308 423498663 235766049 408976735 766324705 104599974 443588229 578020894 442661299 441942465 834497977 525884130 660520680 792996774 508735635 469260156 636711822 161419651 165011055 942896734 701702811 671038740 975889645 442152589 512710331 173184041 212270663 423923547 266330735 973206150 930813944 185360663 214444741 956867322 597631623 568322413 885349856 341204923 969889453 247761477 305655109 735655904 580919265 175466132 639377691 120440437 719993092 846012888 608737354 341228109 629009329 864581584 877975303 613480650 821150402 871599841 142163721 767859057 295188259 762733645 188343422 223918319 793457178 756852089 207862114 888850199 302650979 320961557 407902398 131793575 337184559 426615825 547707068 496838221 254851616 746104421 510446682 279054594 398399015 276840950 139169786 198024583 258831710 892821068 269018005 709493097 954126676 250868548 162322431 926286389 900220085 667440689 667539049 685878598 597609951 458699200 471014265 227313242 123698606 556551661 574301169 454418934 618372964 570446640 574624553 651898623 231340252 941725579 520963841 186924978 471240820 877583606 567694155 811374175 756221389 249493002 783437211 852532983 373419547 751804018 899091985 103248861 166453531 940308795 701361137 407277777 223332828 158200446 482162561 788713098 920029157 488566815 450836448 412581355 629491524 156842889 149333488 633567754 280082528 892990456 188415992 666965565 823519890 790966659 210788039 939559955 809236626 111721291 146984796 614237240 861606450 781483493 387929876 375506878 423266596 277201843 590224321 700686719 354631400 967864791 103886830 650814838 572019462 890433836 262941736 359464412 172226398 181129265 578563230 512678949 694780490 930580692 260592086 479660540 868374136 573292799 131122271 280953810 794808396 620106726 330460122 511509764 323082438 144866119 851779822 943146241 423622810 385550384 362000203 515168648 491455289 298088394 125057075 696699219 177603143 638754843 975580445 711154661 516811520 736604167 509543981 810519421 762126395 442059611 988230173 287179625 411894009 163531197 767955433 243272034 965670693 101581550 130935172 667049139 817148074 840412828 841973214 193094882 294994373 895581477 845879618 370138893 126216328 465515027 462246997 205463890 632379066 391606425 638860774 606555359 303829891 771767387 812484692 377108449 334171458 449088396 173002615 502043896 930855966 649527619 598747339 237143275 937093817 130721870 573290348 884123306 678851213 487058440 735191141 956279377 546667819 708930734 908126459 607695743 115077015 438401852 267202979 919914298 457067922 919418606 357908098 345043543 711287698 650876159 711296872 286072757 936093143 794133825 467327465 826426966 948052778 733962658 534673974 776762936 145098325 854503580 329799925 254868843 231916621 605836496 905387820 923846441 305918415 262200101 187579636 600590406 218790829 339121400 174000886 223269825 176794960 564246231 452098069 745181189 565655300 727374030 978892436 128094887 817607340 707968434 970025737 147317739 287518488 469916714 803951203 355608483 598308759 561401990 943799532 778780624 777767493 455813713 221102012 568641593 613725893 433307382 206171305 417655146 991089664 872051540 952635153 502548232 440858840 903221887 576458637 696744180 126417153 320370763 673389108 380552977 761938226 930880984 497416425 423493657 304492284 189697905 991164181 186252449 382664528 853442986 532970913 803585026 512761538 495135083 470462065 691698968 161298245 241098703 945516213 978691641 979190418 223422436 741803685 661425968 182986589 244680256 661121734 545422735 869194738 843503066 872467380 998314105 334475920 342569968 820482642 105542223 332955712 575608575 886465174 405547757 558640080 788138266 589325778 439899441 410600408 940641975 437263425 690216906 128049970 318370437 677255984 745888381 877679699 448495955 830038178 115720218 595359183 796571686 655610639 753713240 810208753 547665422 984439809 312367761 614631694 613999237 174326936 926242936 852726875 240302847 588848286 398140042 510147096 374596968 140327528 807487601 269412628 995168170 463480831 178058502 313120605 954874686 823303165 832965759 861594352 647352141 597451369 427205786 242746408 333216020 114034929 713159902 821599144 172002518 170963162 708652424 901479449 785340393 327534538 829551167 423102080 171286522 861582540 631122992 873153466 689094813 675563172 884421806 423256213 658310781 423444469 285547470 710106449 920740349 718005778 832271323 321278389 482713770 498347256 565348070 547800412 580715651 213388584 844405180 646171284 262579594 392610446 304978797 999867643 586052768 514037709 728029327 702654808 423618248 431180130 213605356 298104222 719611461 634231161 309146939 609681834 393683182 306178225 829946373 345989487 748637215 829232759 940126059 691256540 893339474 561504122 496174972 185785962 725173579 691449703 462513049 324360809 351292923 861053066 881386034 687279008 872868935 978517992 261677595 578570881 205496802 781611279 928234940 889431662 914771874 600791321 845189719 660755196 907488820 152623374 574165089 170617848 826551884 281756741 269270409 777303956 689339768 386779809 752173933 545436693 770287893 269008247 815424367 274477072 556310695 216730469 991190868 403872115 950700398 973767839 315829647 891929034 923667040 356403835 295448916 464146120 793082661 419993920 272708399 422948146 245621000 871027091 937949612 899841704 822214374 888853805 416849907 449641902 909761492 608918602 320338114 501653164 933027246 993901541 526771611 200263372 569147552 940044402 551808400 526651995 700530258 515709389 877228867 231735066 876417567 979923031 960806510 242022588 425622497 523551576 510562671 842302615 320707052 572209909 507743326 660048751 187142022 364795118 266346886 847975274 955133651 135665356 713687450 401872053 842412211 277237069 299033238 135938887 732220118 710377616 681790506 773883593 277012097 516156605 301624419 909049599 700888046 773842978 937905917 594951794 718114080 848998475 820306461 425409125 188251555 336483887 426542413 614300629 822852293 274299329 305965263 399824397 591171956 765829112 872788939 338037985 995655329 396717418 830458639 297097052 278249473 657998688 309399763 833519118 182205400 895848872 615491249 998694285 904427184 782356065 220531131 601448960 811090353 969116792 669345229 618434948 376811853 103176795 494894267 807971461 771387936 824067647 163513016 734901729 839062147 407194319 638103422 702327577 864253363 294879593 840254685 828878842 631078873 406780038 676796586 740070273 445222307 735864066 482523077 288942257 942168342 333113102 989514182 738267410 362315862 501456729 950376298 400577063 366042641 679435958 836692423 791752930 890492146 759154626 770153402 189825432 252798428 911683442 884878104 523066577 950154772 310714851 614980712 507647135 843496824 469118943 346235471 915101874 763488587 496510592 654953256 447661657 830911719 844679577 663663723 374442764 961701710 643621373 657366074 562740915 856406913 249533888 917551295 983692992 384744795 284726939 316243994 624120091 735456067 223913319 821759936 522831601 958524375 763159301 371341709 779443971 395776612 896065943 451924192 440551267 125406579 868291563 828779795 597995342 926350560 428563186 336474125 956671278 731202718 545556915 313952740 922748220 451527024 699496486 654515072 347910145 403622944 129106558 366141228 798142726 357617215 824045507 118377239 877153130 801582879 771922073 258015152 416774805 800925450 546256581 115182397 706632341 350413615 213305345 707906145 581373064 920652656 203980992 639020847 614245175 966797286 648667663 362143914 267063257 996496833 741578854 717333479 130266049 354883921 998103457 981564987 259613492 422490702 679097151 426461612 349831375 427557064 362209831 588175885 813573254 979540353 513531302 122190578 542138757 857011387 896428313 210142202 254524575 592145324 707297356 175943284 888999137 637658317 222151064 331429899 982024020 572953202 648609514 147410364 958512675 740132984 711271236 760086792 125471335 780408214 752840562 632942486 646157693 959820337 870905706 566935391 851701370 968610098 105206370 519843561 342145070 111365262 468179619 193738454 329983288 920749549 774593978 939492963 327425698 896312813 603592620 943028365 412191151 810323236 896219380 730884063 737154864 902332297 396196720 301411088 168332629 681223637 224916991 393512142 477323625 702159266 664014243 459167688 126936360 105610792 743704497 167887039 933610980 948836726 204866298 944359212 515361899 373342819 366654856 930767657 346299596 507704271 179115384 825494535 764791539 836327640 518940820 400853837 196444675 957538443 954225604 521902445 508484311 683327643 701561921 818671037 379139583 785324529 753731485 950176719 563941218 830373766 687465114 707229836 322487045 343439752 385212776 867213511 643441228 503269414 987491526 165273552 934132340 332187888 165860569 844101979 339073561 413740901 402037484 972476761 854769502 651274259 950822403 511150823 581314749 548309553 333516289 489440169 545798755 267614141 639950394 434201458 632113966 322684202 973285567 816386912 962350802 988762182 467314316 813464305 663297459 764796428 448586103 401093444 422932338 989095689 462245565 206037979 782602285 352589204 986827393 179696889 286951515 799228697 485225745 567455340 551815397 767070898 563183297 667843721 316121334 814752007 553220717 618798288 391203427 311836762 414722863 460010195 399655742 661186825 116840806 863119666 231708702 280426953 881558098 593672908 128441246 685098160 527789514 600675467 891621026 527129172 286573231 551052708 264127273 618393057 668365220 115607765 647885766 942797841 964671318 966501320 545202418 830739452 875397330 869908470 137426785 706923319 953774056 213511319 930301164 270544527 541727689 742102789 613521926 301099378 922887689 522087143 734337186 577320491 656955493 536866002 818499356 653919890 906077849 220040198 369441885 231329333 299927059 914458224 425987892 472506604 398261604 453252246 713963049 620257972 883326341 198110525 919193877 888912769 461556181 608937427 599514710 823784167 349849757 924547804 808360535 894080291 262736713 819013005 223508744 968852931 761730596 612681726 794503686 241375585 759575401 959411429 650649057 701989750 622210514 900687960 546713828 244010946 738484427 488650084 530644962 143958076 982313373 801310028 726662394 656485785 982675735 338637345 345324947 864734576 450761323 502197709 765740030 989168722 135807725 172935366 588247465 392724095 983451597 657014816 104394004 340296422 630239116 166822972 317952618 813619009 278165765 815779641 198975885 376757023 100668716 630936330 419405065 733189964 898656847 673877337 263647698 377404068 326569438 281732791 926262471 377309975 444768824 862639711 420638450 901091777 255416250 284108419 855286577 820608094 382319102 406253510 808745564 914754572 380285213 338193612 187743704 159207387 152529855 576855034 315486393 590074518 278257893 759916813 545870668 627816569 507257837 459752206 776336630 947065540 452961102 490785065 593548834 149332370 409922257 287796343 481170293 935796603 947088691 322570724 975513249 994891354 441912312 162182240 257704218 947680030 237645062 980893984 142835640 491851758 310460000 519569146 736483375 477383729 595448272 945603279 771608066 904939292 748590663 227555113 595727300 615158941 391918744 924025191 416896300 886151810 710492399 678280910 818314193 550829508 453441907 538363243 714504596 923761525 934642692 211297013 533887844 971036129 747156500 999924210 258725316 118761494 995231876 641883005 125182879 542249595 386667921 776296796 321940282 756246478 462171173 124418102 287676294 582202509 717245189 857256215 872521129 653988536 530082336 917009041 216079688 907748027 273639556 925025988 381675877 637711614 781700592 176470278 175381367 746169751 225038883 495179697 569686498 701597181 112239365 135590335 338915044 480752842 326706549 179934108 108595395 729082764 437176912 900696972 170524319 955569097 689043703 771093746 497282843 482662111 366907917 533466407 732141720 410789810 744310682 857634623 161626551 818377944 954940441 742124741 319463906 884370312 253898885 699579878 655495773 959339377 465474617 101096639 262805908 303970411 554861997 194810393 422383043 762809651 749046757 777420335 801574930 956162330 777507738 331469439 216609790 676736463 266936722 704550091 232083542 362792881 666086633 765636296 212266499 610852986 980641835 973701125 488373990 716328833 874435361 594563478 129136594 454354921 521324897 804935147 719972585 783493626 405419526 796407216 605820433 867382001 827200051 580241506 530398026 564026908 453535463 176145304 661408599 108632475 711004448 437764568 445824236 607317837 827258499 997673804 905778610 740080213 603788097 890127217 678779974 982051784 240488246 628812656 840346855 587478476 447807164 601856793 192484625 892936384 634076507 299037775 828333046 582593964 127591444 406538162 665903974 284214703 707836204 591287545 812711879 642116659 784008570 103561391 226199442 993907289 111286251 989316653 228369010 544500323 266214927 744127029 919627192 779463083 580519743 787628171 622512888 305789057 654725907 408270020 971892933 997644640 726766343 290462080 567089323 253623620 272988290 109763370 900553929 304838172 821064731 741795347 827827371 147123958 182981286 851807905 446198927 584530214 385953465 541880288 869655391 640916449 781780101 617198358 107728480 391825092 175925395 217888788 909413804 861260057 309600903 700270280 780119059 368663373 996236305 142117718 967408022 608032051 799536212 567271487 845336335 732013961 867003854 590514075 493149707 464755276 411796119 407273944 604743054 464584666 541898429 267271801 603012628 910845156 856774640 583998095 873398557 533685595 463225843 299704640 110455007 682481086 980579576 907659562 442492635 408123917 345128186 278515098 152309255 660778005 574904815 275937156 154326650 503625513 668326818 671203409 590643291 491831976 750558588 673380118 880105867 811735478 241058302 404792633 381994666 614982500 759234082 545303265 516393938 312424685 804590669 707054481 935100275 246127933 505490987 574369250 143941697 344559997 331910997 491397855 127113159 323037238 265056154 139008980 943739999 562250160 849480235 246909145 961445707 259888458 550662205 731891484 173397699 649556329 632314884 919864185 708613878 624544631 655650334 715703149 689399966 180714353 205954001 684122356 947625032 638170102 438166877 807490047 461696378 966880575 563054802 536302498 281580541 176948867 888821962 985312675 496387490 822901108 659396230 285209528 353422319 232447110 833649169 737426139 728561169 947389428 181387315 541787073 480538923 503913586 442299459 144870886 599467997 711306767 935210435 939584433 285689994 540510948 434594642 292373018 203249763 577423364 769854552 931548625 380239140 841795358 165267503 747995535 779149482 706319606 518616425 439095567 242130334 677875107 876927180 434902051 877433173 877440888 978313796 768225689 976849920 384617238 649379602 342485408 862786081 808783296 127887516 997432722 860460890 780128950 901992884 471506372 160771809 108451868 849351624 331913214 268731266 252678516 943831513 853882750 966836499 434634994 971474103 619939176 179476466 834085423 113455850 782761999 299276316 791433102 735147183 302241219 366077696 669729947 271989367 451454145 618182407 809533772 800757859 371857303 422854158 921576282 792275294 418905940 173130669 882619292 402852209 681600236 786648576 236316010 709903842 392882682 250700147 339143919 922327051 699230558 126747263 267775408 355447008 871622962 345682647 469536054 311289349 439300394 954352322 317469033 269959274 376343144 819502635 976451162 846997315 587424908 796607439 211436776 628240850 579079684 391896565 203853134 956690579 937416302 729688401 814952959 440101505 245426142 984425718 399308548 704838702 807158782 170692838 399315021 947454674 958292709 244673223 486128549 101093935 949674945 459316460 739836487 349229283 685216639 342079783 160129052 209086529 149754160 228224590 395638641 467245711 693324659 430221205 355048917 757309831 340768040 916745253 720141930 657070358 618821422 725593867 170317212 612729376 580092440 374786671 206454057 306098698 115064336 238421789 905325959 235993381 685231785 664132342 236991417 577980931 971816223 241783951 207928225 966281382 784622435 325904612 889524853 812267856 458517581 917573679 669927012 744353093 843592270 384641084 250911260 309575278 189442285 953755164 334525720 268331186 733547784 952293156 151964902 296317450 617989585 471430482 881566140 692581919 850941332 777400048 901650707 823823544 739225815 737908063 462780778 806311974 906739738 407108979 510990235 861583921 536312814 226111362 354786838 586077996 102385566 254014242 444528868 359122115 829466477 466148500 921230782 845552061 995773816 534903718 642781612 236211883 417129938 691821995 711699539 621907000 728766660 517809630 762423813 770275779 183706189 867911108 287704228 792650183 213910587 275097208 339383373 324517145 544883702 191389403 681320259 379190812 308440911 900088738 587375345 157670188 703220955 753513113 191062086 560939160 491135244 306745249 718484062 557473860 100769460 864329427 104652625 905601179 540209468 219802670 222716147 648946559 897764544 826112574 860398655 997149540 630572297 258806457 226512004 711447937 829760248 729392449 307540048 504364335 949680154 527802892 431827866 773789675 664926703 624900183 825908876 637730296 844227556 739267169 536426300 918294796 342403711 915779757 345484771 928988021 376057674 399196625 468386024 422689005 905141846 654490376 647361652 458771886 744219371 606763412 514834362 147184133 986969260 266483819 527953936 585460943 994770556 290250673 676111313 568894206 215885358 123818587 646639624 202676299 424954525 445730085 952810302 604127702 445226017 201586754 521614034 289918758 234870902 681354909 295380067 667382237 446029749 133326395 284113577 806466610 794685057 688182117 757426931 390064757 894713419 734028205 180597504 265907547 759263735 350713063 591696488 555074406 383196256 318122311 621679548 235443191 959577352 194858961 908640047 168137065 384056238 527927646 223727023 830790804 611640676 114483298 414735128 204309318 394681630 820053298 258274857 443509742 823385679 977636164 226836598 886417670 513626082 834018703 490972967 393907926 100503852 117677420 344615464 648167797 310692123 581276634 908691270 432062330 948250945 906796006 284429171 406348453 926143404 666706381 775136027 995056463 145615100 878018581 965043511 147436329 270142443 575577931 390894308 470455245 294699802 921653801 376135808 738510511 718100946 447971908 470119718 137599444 934542543 252235283 249924706 518181947 857060716 226436860 856218260 546545359 472242912 370960817 562848237 522158861 662302824 157250059 149688362 113498182 379865864 392471640 327969203 150539044 355439152 918575670 608734779 363194220 946415124 915979728 188485270 108609210 363596077 921959552 817942038 834587533 616774696 122129503 890365392 776867098 424287674 525697983 392660731 149750529 690513281 377304300 260269690 862327729 301352618 455298602 135249407 976284284 596292985 841711678 813171867 954454564 245163562 315060318 714333505 185813346 716589233 774924715 695926596 470628245 397383853 747208703 313492414 850118592 563437200 280435694 897192637 283571173 395036253 971337800 618579897 755450639 895780675 758606112 930403031 743880636 494217280 277340532 481458790 307177931 281427084 204940981 864483890 148956720 583967860 422962450 328019436 639660393 231880492 362884138 561142113 915014872 451844263 426958790 397342692 794838831 471026505 561871888 761048590 407199969 455231736 994240863 426695842 400155905 860702891 274433358 273807578 254422462 189305084 622160911 818268447 391024734 698663939 373973866 125906095 554510443 809940463 647573410 625122317 552519011 136786485 759004285 383804394 885229198 683931198 667099793 774687330 481065810 271923251 894053918 246917554 394565006 258506079 262371401 729869632 555186853 336205595 753787438 321369377 376386066 788709264 753859397 754851629 287120313 753241033 760297814 435341701 180638976 544254373 283845457 120529873 631127567 340510664 493007360 294779180 610967937 756399483 719345619 646938566 159852397 626645439 474400470 967392434 789981711 470215204 919355539 430325206 235213537 256952340 345413164 317403233 750115624 537711317 849764281 158982350 662933164 682324754 641545090 223165957 922803800 890351715 107414138 921820743 516704365 888041858 644737360 322141175 804310753 921085649 737845890 795425075 694357275 218631664 442606705 632132583 710650825 237642581 957386405 318538305 539421613 367214483 284406598 268349543 123628259 670944193 895893649 610201128 411302383 373490007 770033783 286178671 894405754 783679815 181320064 226264763 838192713 860900818 186542310 643912741 955337367 417987604 333949265 348664987 634515547 391860725 444828858 646742694 282557278 929333223 906160876 103299755 951466045 626690606 958071192 898235623 454955477 326654880 405399400 198222197 246553880 219506389 374671273 204403324 351206178 952470806 727626679 604878393 126698746 400170834 608809406 118401840 453886335 362375566 766519660 867267107 641185229 493306916 828566890 294705084 913097071 793330480 852703083 614910872 826003611 737955829 320574510 552105585 974625231 612649028 906618013 653590734 109731330 549260905 704796295 863886785 786098231 978368851 601944936 159989051 963354390 773495218 902259521 659826087 751423100 536560819 248273840 451814994 337134204 896941410 504570898 205712935 981232880 648837981 982629085 617017271 213083927 101128411 147536402 635180979 346915963 874810263 952651707 506931464 353444411 783270377 495606262 680809324 294238591 114193557 197248174 608841644 802618040 114031763 823439245 290405536 130093994 557978883 893835127 925489999 684689783 823024861 194051703 996138352 802810044 445182661 529817235 771399333 881911761 133531844 516659320 162410783 639749069 580143782 758266395 310366194 717629735 993697346 458917719 977465422 635244834 958839604 979238185 321758306 152334627 876559094 153331746 857728305 400272146 149624883 234235040 266015816 941032131 463211852 604859664 632260828 116028856 851198504 896339457 437462406 757958495 443766053 711441018 333309890 877357417 692983413 517160580 619548286 812874561 782370996 262588734 412931024 942141619 841390585 342864860 468237775 815265777 585393474 207040123 373746087 440518295 167902474 373076202 711865672 812160182 495537022 257838188 269632246 504874868 484719555 234705546 976884673 442517458 597489590 692942014 893852708 236965369 378991762 859443033 931004032 179500207 725256044 917726538 670589660 510300994 481269908 938452571 667835575 171428061 556369260 929251245 249615586 541246801 321806911 727400085 677961061 770201593 452258356 613778534 141818284 585040068 664733853 721674348 951582827 707176040 955059322 250416682 375733287 244096664 920525872 783273583 599091319 908492412 209386266 229815019 500965459 886607159 523130624 470759672 193247199 434793349 334241402 280612288 950895223 500118320 108561196 614871884 738239911 748466052 750667678 898947593 457600390 444729504 856800295 812158536 355524337 271108498 496978889 161014448 844263861 838986118 177621193 599897695 648482235 481933808 479711065 132518797 538619799 995626573 640399340 935619193 139417776 892189405 193431992 742156937 287818415 176596951 746794210 873314881 885923477 112635126 794682995 351447293 560623993 523648399 202317211 313107843 923107940 382728137 485598874 749750067 414749622 907188527 876569678 632713323 343449670 587421674 765514698 407689250 840677848 178750402 158144408 545364442 290193732 405743516 574983879 685381227 151562018 678757395 254339885 884326829 972270011 470187464 781975353 703726199 160626889 150677422 734846053 621866836 554041835 383084552 956062535 942592715 422895781 228514567 694964223 971267837 730618233 341401435 961388731 902967389 949567968 470386954 331483728 349169020 323487140 925793824 427640940 499555098 883939877 279481788 943109898 738180756 830410146 350828334 821108198 273507051 930416759 919029650 395484389 374068863 520898456 736739825 694306649 331496408 577237024 718530834 677064331 516444982 856676584 772939269 215667789 978155985 124137869 903355049 577692627 682909726 848834198 618945379 277752466 852459063 808987951 589371299 658909359 619834710 445122545 634942599 786336285 970735686 538202607 403346114 243331165 258032848 812643595 837328797 763585617 689505626 802003352 418583133 950516704 845253459 790970081 355641124 151314288 256848858 721322296 191311724 978295308 750347968 156750888 612380287 759462293 340581098 803483597 779455568 504926365 315296782 591041171 873182857 327334660 916748596 822063774 805005912 929772311 286995066 986759325 374589443 166647945 526446533 640325514 434542010 317383081 441741475 576163881 480911014 516370697 370147974 178511475 638774059 782456377 536937990 193521273 854011380 195127493 273536968 876579589 300645861 430072914 658099420 323288009 179244557 514381038 428014532 422730263 375457017 728350587 240293482 993745354 957299465 581599531 795546582 534707489 939269141 929396614 229211392 672168984 684111099 817287372 637385912 457235326 640601219 357919477 640232297 976427257 382504281 965042948 545124182 215886089 134362578 852823855 764380804 656014065 295197419 570870640 492285884 444433522 165733374 574548478 255380972 942860171 629153850 666243176 335928971 707346574 787302381 854130926 787139223 101745185 948742462 968925934 309394076 356831235 125765340 208770710 776378984 133235853 257063277 996722892 902294781 122536526 272829801 104989657 340954221 121311305 854790527 201122259 439897172 490064458 338994064 240226181 968183934 626173514 671598063 701729093 410254222 733671789 564994220 793694137 876078370 438995270 611371284 870149619 869804893 135342399 573833071 298836043 443001604 710916351 414356111 452478130 773569956 666985578 612342153 978817547 672717384 291091813 741849677 690319163 132736366 922373620 310701209 344311304 298979732 955313815 795168807 657735821 618498283 636559539 922295809 705154653 628213023 262755191 228579821 651171628 134128702 765448119 347146503 335318835 241243516 896099809 526594739 240829275 228673645 301566531 787439243 154463588 421005780 762365833 389160838 514839342 322346610 848730062 701869697 943959011 901995006 524202951 789345094 861733168 754245041 487036415 167463558 625470455 768332259 852022329 277962930 981996758 200279981 943672714 145709647 341044429 156500395 728380035 188628949 576919562 136040335 760103751 216877297 251400301 364183090 801629439 524147056 647678018 155575057 888179967 205611197 405284815 764103040 260175583 577036034 811835182 106021329 816724328 337902277 924012502 167253116 644028979 326703058 188847264 398430216 707955501 148985903 247813702 599392860 184817889 655170052 164458065 358503349 647961516 986650796 256614971 509890110 195639854 108839307 668329003 484625699 738729698 460487283 181704794 299788516 481331791 458573474 943685415 542682624 297209917 168605161 708565743 663144097 495167882 499571383 251336519 999271601 448062268 801429670 640729590 352472573 969980082 597616183 895291123 453441994 952924462 267247744 215175871 311197850 546955934 389760389 564000219 847095769 484738142 683403874 983565320 632369074 102611950 176714088 855376163 741114148 528429208 686259117 226699708 999024387 618109156 685907733 103724684 397618971 594062066 861694206 455757622 118505778 480617406 391675139 764296321 464163383 579060898 902529746 742983048 166889686 378593380 928656078 716986540 601641002 210696712 823936594 113045618 616878118 664532504 631538839 520453830 175446720 928551330 294684234 298036129 113918537 222622417 895178628 320923888 271826318 699197457 889266315 383441384 146599671 822867938 851681167 914320354 248765931 158329486 587075005 657568775 918209859 375685323 876340005 169830624 488984271 902386417 273963029 525246616 477095072 602031023 779580958 980641070 366889552 570412069 814682383 861462295 192322470 385966457 665159759 690283882 959978332 553973741 135936719 453643107 649563442 719197790 334141647 930493282 686269901 992606616 448401674 408700986 209610183 852530901 186048502 530548405 280400785 243281539 722015517 458088221 647079121 766589885 523489803 812345206 600864150 557402527 685777366 129054026 267801253 704979335 577958592 760744229 603105715 506635847 831708515 427192868 305597348 399991871 206556613 227428910 671355006 510282679 747994502 420074873 813416611 211731643 920236241 730002689 698814449 173067363 563262803 589091695 125952611 471497179 742602281 942265730 157809341 364630607 133227911 568545438 848771459 969222567 447617121 346817076 590731587 875256715 890539946 882630029 265516276 424489702 752866792 676112989 935938483 297775145 576348108 550461968 751794172 378666117 532432777 612856251 333910836 190179624 176371352 393993285 305539229 628242784 824070927 998355707 277610412 193431655 397209567 101066380 767465382 243240047 481500906 640132693 313326490 176422862 345100046 157453291 277745622 361861864 768262389 940704440 407957502 600692983 934589036 604856087 574539764 226500416 296646201 908042711 691949905 739415416 191224486 355056241 307294759 356899714 848068894 242151408 439251320 469513760 209166867 127049849 246423961 950970208 586131305 667678968 288549684 967169626 340167806 898807451 136632252 142790962 609199281 892226788 806159677 325602362 323660593 563048479 204309276 448269452 977153416 851539887 189922407 418025454 814630876 978220228 461098072 648985793 185213595 494498122 534959846 525009616 838471042 479356667 204023350 927359794 889039078 933992100 967960878 404589212 255321543 688809596 964002738 371193217 513820234 851604660 900786834 197277118 513601295 701565423 718617371 831111466 755149264 684758746 744898043 555116303 219377074 320817928 770898235 975367820 933678175 615551846 263755375 564424728 966394501 315855274 964782314 221426961 316678552 350679735 632616383 979701372 481660555 294509630 504015873 361804365 457353200 362644653 452656321 771355592 895123057 109522931 100169367 772163789 190849080 944742816 875592258 263109068 771837375 494729408 766341109 327889342 556948872 858844615 449785363 875028792 683167687 875300937 515287946 899027868 532958749 922426142 583480163 494914091 537560420 557538624 794206607 706157983 519029480 620323108 253165567 315651566 818244493 668301822 360702085 214015598 934590800 116437026 395921384 474502276 450496353 151459365 684340310 581531558 728346889 422946678 409983339 171425871 163156121 785739899 467207844 338509368 208993490 593991156 529709082 332297503 214749507 494845309 141410284 309445155 189909442 146898322 303806608 211919969 564448842 923587953 891288302 686216106 121134604 167455276 646837751 142554586 604580709 289221128 834599368 887193894 798533120 354379011 799847108 634662146 259539568 735935602 489532178 843989925 697687209 557449257 445314892 528012726 372354049 837191619 278434678 546776781 423400513 189176350 657650541 446506996 282939579 228615766 600926311 246486252 608683099 841059832 444895219 852534720 939631039 515882230 763806379 579598179 956752152 753155391 495845475 493649057 824855520 596969608 553832709 116951823 407791529 576025820 415985259 688257830 396548253 801172832 613994971 738026717 532668083 957016575 377528660 504705415 452006686 270465260 792456827 701746668 503726612 988174373 262931479 516446258 832319194 926955212 698647641 355320499 203020311 578826258 327999689 685881789 615394381 517251973 192017808 982342010 972255816 471133296 640313893 641564990 351583186 256429466 600653756 263383522 140427251 969821522 333425098 895153752 710975795 237742835 828217441 146574847 964108173 899998324 700765270 726262743 740080535 560478637 372395660 577242052 831778691 983085693 781317929 579672476 918677018 868182646 150930660 642311675 908665526 215185492 850632298 678430104 989836037 532170150 633603208 590144712 127030230 590835450 800093895 870180865 980863891 299206206 179271448 345074505 381983124 912002351 463877830 313351454 594974727 184624418 492360098 753307237 609939620 623225670 634988845 753796952 660604460 840364395 392743633 269743149 741572138 457415519 820098348 572964793 991149561 188590494 714298611 702640390 665985684 201075903 878135287 216456070 882056057 540800110 973209678 344994933 421708799 257876081 261274506 991194206 864470814 680120057 553655846 833286771 719452310 124213056 417596458 905356072 620869184 885334573 637113378 441509251 981482962 439575418 177669597 541930623 856680149 205642820 277158585 332059358 629783614 676271654 624563550 659033033 767681622 871445603 999187995 795932386 541263932 252289698 523701644 916435137 365887727 161605031 302823819 494846686 893086799 486285430 125456628 475642053 173477041 691996607 160472135 844343795 800649495 784524305 819498330 466740513 943930805 735427258 335445473 591477522 884327304 708565806 947894014 262891028 766903339 451113424 987926234 378996454 257203244 349048646 768557427 919535239 384540016 441402103 138779095 669781463 289573527 755990428 620094475 178856861 714978477 707494687 540837863 477078957 129156208 587113851 701396354 760280170 600134640 786654999 862122792 203306315 343982222 758540104 257738677 779618191 472550259 195887058 289581316 240558467 178519947 111788959 247578784 710388295 250948546 666420725 242305820 761104997 821600068 926371172 242651196 384962375 321191647 485305748 181166015 915904718 177627307 637279148 432377408 251679692 137621585 951526455 456692184 120802369 805543406 996699473 837761533 526444260 925117476 871533369 694833568 744703729 635922481 565619354 172593630 932282219 523308368 547802448 161557812 742917642 417055126 435546845 539279563 764699449 597565327 711119429 501831732 129326669 815418239 563628972 136576302 309741984 928420118 650659071 523395851 348903837 378470221 147808592 435607916 985251764 459688437 179914724 624826111 503149769 578090373 496111455 248835875 747312094 500000444 780348525 781787710 318584566 537686086 202575975 507371000 810044721 970027925 316903648 801588265 925195982 653033353 266674116 266096433 966451506 135432655 362620508 137227769 528510251 650252556 243168089 898630017 284363278 752704878 654560489 254906205 169584263 198672779 721045290 506556100 914401997 418360198 460996827 483782673 868274856 999632452 902353360 895338643 588092543 999672528 726466514 230267732 526984928 189771761 689061100 788541364 803594330 449299805 194845727 861671567 168209992 758908099 864224874 394838199 308344266 879026606 439668752 670061908 972238317 559609254 992154025 558773877 752209516 369467433 981461891 589533054 376117898 504526494 539878287 204653109 770474133 117797238 573074701 996236484 947083467 544094399 542664725 244053648 995671495 645941864 232197940 476728259 289401544 327326559 307191942 392441003 813539400 551667875 515147835 551909936 119492352 598024882 952874410 750264766 557858129 820975359 838924611 197405911 383600913 150687505 456550278 705926244 318638315 201054781 612818261 269740993 481348868 604822692 626117018 493687808 412720259 998232087 393513801 424195351 628927773 652067626 124380527 750151315 849143370 904846446 412847836 757716474 179367793 356108283 638988443 140925067 493902212 958266614 732225089 516223738 704282243 887107803 197026911 506067325 928718205 964607144 403070399 537658457 113801098 490975636 142937433 714055802 721862711 112160163 716219041 371749262 528011661 646568048 257797919 235884966 270359526 304249934 817541661 239958969 741318473 692690056 420826795 282300044 903506600 649068483 390781811 436016341 141134192 173494166 745787876 955404457 606020292 149341461 836432007 374645586 805314027 299038825 536537602 819710735 519874386 847091017 160545722 464360204 756223985 130765320 463003803 797662314 375017707 751041432 913801710 159849675 784831174 185956387 764751876 972232329 797483651 817659188 119909022 932352206 598978123 893543278 816878146 511010628 461043941 294444929 917190591 156801805 632059861 793069844 570744897 580300846 151455022 172884830 344547024 683413951 482566402 748315496 998616263 485438182 402360987 939421086 754783804 292148713 630425390 898530560 599044899 370171904 488777926 619897917 730184790 510302811 799449620 397507358 769515476 986087627 577735207 683533288 687200235 450293856 207151123 669819931 707446528 190625277 471644030 511012915 818046182 575995038 240149689 377550259 177609855 782091172 669314105 166767494 649814437 639890178 880335797 901519951 824989802 627387214 232684345 775168595 747190026 404467526 107428637 491131781 545505641 220979830 750216895 926188091 586793516 702887310 968309115 664663737 529752464 593547006 368298225 518842134 634504246 386844136 622090975 930842100 645930473 711258547 383165774 976926888 555683221 326752099 340795671 846531610 143601708 815471901 176403556 854229849 339951330 716802148 233184733 774291068 957308699 837662886 249141022 512526585 138398941 966320236 293270614 422579423 591721470 714093420 612961986 172214997 447854384 749757257 556229963 804719991 593182342 376489602 588728265 650949916 573092992 244356476 387156667 681233235 333760083 920124398 880232327 709579388 201686316 180965935 473555944 103937235 901116412 679314066 362249024 294434211 829207721 444020232 361566571 144788977 295780756 386576228 473207512 576898481 271926530 473700376 995644056 521873913 271953448 732272194 891910849 621664481 254252946 288453729 341227254 680281351 907232081 640938324 623403927 174571945 427093646 951302975 181520075 632009558 955710165 711719346 302986737 290112168 862970932 667357990 391539541 955431837 852168029 164631567 200734790 223246056 214511500 721865024 164271387 448696597 164211738 286333130 764140538 341626667 729973888 600364293 194506811 856198977 335276059 390663663 653895378 253073088 550835833 832309644 382559443 634257016 166822031 693488904 165813332 474172765 590338351 479042178 257177396 742823098 238121669 912384713 906105208 862722331 499555833 267137761 991240435 252835065 368156095 716407976 118739790 908485221 606370220 402813666 745988628 183746570 138167657 899204151 690437690 270905109 474053296 407528246 820648007 921781959 439480084 562294008 948335034 381083932 810677941 774448823 374454273 508274497 220092972 132243333 771278828 816068133 516772920 529691548 696028478 122212277 127382726 204738541 795942651 492221917 896261670 490221200 647902512 292570223 402464121 628802304 957951215 411244100 566792479 109348207 185784592 303190159 692101147 438454753 792718478 720078709 858600193 346279043 357600229 465090093 819171585 788259311 416560782 945618172 215121497 347203942 231654074 426508312 793298833 212580169 313660020 872959144 341388226 952092040 879949314 164408208 716273652 135774284 470528110 826907239 320509175 923839233 124723636 918266155 187994709 634439125 184140796 498703155 422078302 932500537 270939465 436234445 501898943 799796100 704275685 154880607 626050666 418207408 530776411 194717781 773316766 285606036 158354225 132522416 516746960 910601144 411666188 491335936 709405088 822924743 524327842 636968098 146190166 770268518 266983880 710538126 981291627 263832849 263908080 362539989 207639121 345081460 377849078 754154015 421633231 197464480 186309418 419390480 548115535 566171743 856575508 249843457 568032092 657507625 724536321 931029730 111719564 446739745 778240507 720545076 124315104 248576910 879733917 951110198 601343606 487327596 696043680 759428710 675190960 243150724 120594552 412620716 954176856 193494604 938717389 466509909 241936751 122648352 590307746 137442089 887598555 957241952 504283424 135677705 144653351 201142300 746728048 274770427 143648869 712286933 889793515 512239113 758536081 611838722 458456364 427083708 993502769 849457909 157873888 129180855 169889530 520488411 521291030 190793051 152877071 487938332 556771341 982917686 112443611 631013060 859907194 968352822 262529759 541812148 864884398 663562372 338502270 787942464 861844488 118406990 624693984 149344013 269964432 619336656 661612580 660629328 374635156 272927319 869986620 223607624 749608978 924270832 346341707 347963235 714433525 181685520 759827833 870151655 608608771 383434604 352711662 972726073 149796515 649069633 162335870 168056453 790968205 911629002 287661751 213450699 621374588 904935851 367996416 718983608 912866179 333677555 220168562 349681338 836526504 144758674 517196583 612721608 792025232 422410225 747516559 484376712 502139098 845370105 896539110 954241815 626834155 971058379 490106704 541708589 941986602 235087895 145625275 899442418 222446808 234705740 584498398 272275944 491747295 284566691 665426352 314648239 187166737 309540692 793625635 679212473 866338297 971881589 642966715 150481719 379806932 488871552 165710452 885408502 419350824 326637754 425800429 399761879 481788319 486072863 380839607 985226735 128428835 604337449 839749398 205753396 595047081 408547156 723507270 929748733 838594019 326765200 890994270 617864336 905864822 358697289 880619334 428589988 239622539 232067962 504953659 752107682 154096614 480496567 696639809 168394944 743026616 370661541 604051893 330406640 823850459 522868948 892463297 883887806 817945818 263598712 692090737 982602827 310595594 677724621 212123846 397603610 343038613 521279730 793345938 373235876 420655220 378988831 905116518 837542197 680950826 300725479 356932138 186688349 573618316 694048275 222070395 777287413 217404298 114419527 451482888 609091060 433347574 636126191 810914806 787121248 939806285 412431838 606055760 709084372 219145243 539391570 240224146 309564014 515806696 173184566 930994298 124476450 713414686 739287534 475520748 347986940 875865032 716840339 128337714 925228067 193463101 409754674 646910598 314480079 937201165 764751281 840457793 639924025 862551723 422809012 501356903 665633666 851481559 301543935 514494629 237816187 913697345 189217658 444117784 919910038 861509662 476365360 289152285 668446349 755687724 606073412 901712170 918615345 518880734 159686173 194622764 545551865 986988293 928492287 579463025 771265543 877185517 499496751 681439045 398341812 371971221 735282397 123329341 309382655 632881282 150598113 447791702 404542158 626700150 695492866 862053028 429739802 649415843 612392544 801069144 846195016 549396502 685854883 653049827 950796444 541262261 331067473 539323427 838089304 886996346 340842848 300338052 155034151 263309965 843973403 865392233 554038405 140150798 837318825 456289463 107473545 486699471 734875602 504208773 501553518 275070602 430312929 886565049 349582025 940127879 486876446 412158471 466774454 915796658 832341236 423083600 263204032 388595619 764126112 250028012 749938277 356481271 470888931 667519572 897642568 372059280 491519690 362429612 674311400 596930941 806799148 230687296 473674456 808689272 246522441 529665014 809322285 737764575 394459429 902981497 281466079 353599360 548820945 390820226 224647779 926848017 383381636 263496052 287973933 128682620 768077615 341662182 379380866 479408362 399150538 282524017 760481408 476447575 243119204 951395262 188501174 514220274 370386130 580670561 645717644 772085156 387347377 530243238 330764268 822132017 379607198 254491190 181085668 193534009 139798514 122837089 549491894 498476887 463553777 682940256 174324546 414043114 227678505 704785295 999466922 459001842 673429954 534624718 267657952 246469232 349699013 461247436 956035773 102025098 447689556 451099286 922781338 555238325 722757647 530691316 583813401 679792637 970695886 277994664 948831242 512647806 584210691 464835820 735572821 614159547 292386528 149582827 440899634 313492760 512661550 987788194 945119518 505770081 846497058 279454022 342507220 663697271 739310700 551697056 850274676 419801495 249885081 533151832 364441682 773334140 329988734 153600839 764678438 757543525 917476556 837774052 330735433 448336139 475316099 926617348 798160472 434485219 940828486 105067315 858531800 200535036 197782838 563042191 317313936 340099711 697349005 269232594 505850490 422559998 710581513 141492778 491674129 333326261 172349692 774892329 373897842 327360913 743077801 948438517 781504679 569420357 727167230 454686907 192406503 731750416 293785814 588662935 632795462 874242629 401863978 662373929 916480847 267562694 536202331 381555633 537708677 452362789 260032673 282147519 392724942 747971239 762273095 550277713 412979976 900059745 341706293 191264255 777519347 114870778 613536542 495538976 141691148 109621538 567398298 412017518 681192010 435808824 397561537 326250469 901451242 294883998 248184173 512095189 312984480 581675828 537268426 303068194 198845048 157040555 920843866 683226739 441779322 485438499 479322237 933010277 295147499 940765509 325934971 405679855 564256717 942893799 829712190 295977562 639432218 183858845 197649832 183468168 321490264 654104120 757509931 157184307 146157127 777781453 393463898 613262093 510605518 989920982 880609071 360046626 595992325 796645069 202204783 309902680 527827941 307425222 702733335 470390747 779075819 580305019 886422854 505756987 782287781 926355226 896488126 830994996 812766466 676538298 766715397 700228681 597072274 247334996 797258484 841196913 893711881 846859837 422491519 583319093 557427747 265492694 906736255 575335956 240117520 533449622 990086912 993351258 453624019 473567472 878766166 847373943 409969136 394819996 217922237 480602068 429581119 319917886 891874703 985996061 956730743 772871112 946517042 489858825 658736805 805114897 252533493 308174610 189088169 693105424 329659905 616967804 965288479 779223541 558202032 775002416 980391364 718907642 269839595 293279518 318468379 527419664 737790698 855240586 353000773 280445169 589808787 592470774 841203195 464448333 291178509 673121285 532360135 465113682 664870135 904199256 446966054 426628771 646574289 694090236 745512587 711094302 155608915 459741806 542941181 136446498 986126863 518804581 829978008 658218709 852410369 737494123 945184313 358572611 817485595 395345582 279560100 757851268 869639488 740040247 784188271 384079167 694599500 811852611 381321923 662711756 669422554 220270439 402712065 844735752 529367810 244791579 365427015 769621183 869530834 824572166 760392473 737693334 207279482 304073948 331978650 885605898 183485464 746219305 995699536 419557517 739315343 758680865 478188643 475460506 785843734 323834536 623888982 672111128 483220526 886464637 914435321 638497313 930672153 942947994 976855627 322549758 474817684 569310350 796803905 583905643 247698555 863460876 381615856 732933287 188473562 928006336 570051055 889346353 968507579 321643040 711162960 171663340 494221604 698978534 149035697 397312060 831876673 450584195 749868233 229162812 441499697 878958224 599185657 768580102 913216852 794693131 707620466 608187320 539660750 607695427 632774248 830412249 592956200 635521155 337474231 753277765 867216063 919460533 960342443 656780324 330663570 390087649 851963957 892601097 298143781 837886134 965947247 917922359 357903996 633154451 104266288 335975496 160555147 662189589 711767971 142966156 281903462 794167518 621967579 302631830 804827446 354053516 592380170 774865477 572958198 551585988 934373155 169426009 883399113 724035555 607098619 539675470 548722167 851266865 102171276 435041663 685398107 671020556 148789888 830745955 516142163 150336658 165806984 304660117 819569995 731978189 875377178 593804522 735094292 926559118 417216401 728099593 929397680 621251045 679492340 476178705 115599423 508499366 194986248 990795858 111970014 197608471 556191927 650388699 631222846 212247748 968841744 962996436 543341136 846777226 275562068 485298344 467990719 985558240 198744546 786803124 480214251 904165457 552585388 864120086 804957536 858628570 898870668 732236103 317052705 283359426 432163747 378890768 252314424 710462635 663876598 397702794 891114938 599476233 216227644 754394877 442768228 522435355 591940788 621999938 379759569 136706145 459778149 290119562 558842546 381569365 605847820 241014139 873431893 498629162 426648260 153536114 848570861 794385799 477032929 317046149 429043091 456657635 229972847 242607890 489868540 933172595 538084690 380303494 690606773 800265389 733028501 655934353 635950442 176135844 529656074 800626594 526888604 937206431 347830916 832290351 779472899 585011335 938565329 756856175 357009790 625872463 144281466 559089024 215538358 840812882 820808437 300450746 454470744 555219373 556618730 470494929 808290688 275812989 616564288 338300427 561699055 161877145 859588262 223115602 968681160 452124955 839224846 889881683 522796811 163586003 172315169 427690995 797833475 941060153 596927887 904263306 789644333 160623452 686452740 175584475 301586982 968223963 340447263 144768336 535600487 576975787 785132572 841094994 162134505 715476588 279617550 816754052 384140426 873315147 810353345 603831068 850113028 798834805 656111781 900903636 497928679 904361403 843631287 604839632 751840264 151469007 256391183 334164070 278794347 533008026 310055266 883707381 675096104 776437013 529305079 257053499 146405633 823247951 124925798 752645047 137323740 492484277 558112352 382103778 874981163 339969718 564925477 640722324 615707176 154517760 151152695 708431139 669309427 449542865 769182924 686173062 348216842 344497210 139443501 598052303 417894742 535898483 873333301 389536595 232173852 706187070 489799759 633878836 968179223 933656769 459052127 297534874 522943372 383458080 429916882 433642342 472019150 398012758 656469199 982512099 827034551 376624544 586847044 582500485 227436946 342556454 320920099 920732251 579719536 413924899 711803152 479632502 753237188 240523715 172872248 663430906 718602852 582512135 423044218 223690197 305309403 566873685 530691671 164082827 879352977 100912650 580254103 183743749 881388193 896847408 254457960 921378468 187553982 574411216 568742679 709404166 563060552 986020621 883253245 111563239 526635742 981571583 702075096 563991520 782025169 885965160 261713378 345417831 848485040 192417348 482721076 670762847 390737519 877793111 929260177 578321363 975851959 874115508 955497002 730179048 835014713 355665972 284480437 503937479 420281832 390922552 309416088 759442902 647138853 687532556 176781812 953784759 277561898 523590404 596468474 701064203 176615304 132373629 678933515 106964958 713322846 475556118 329835935 538874411 957165350 517687735 141691591 615111977 759142314 878946855 711079941 112383289 136304698 880025485 461385776 389197067 884395787 301572623 988819507 138529385 192820033 274684444 145366931 233372277 275846780 189172208 856075545 956154144 114769501 396585373 210022268 354789351 294151404 477456987 491175861 859091191 780119841 920243812 205497048 257406542 348830829 608245498 967671598 204251532 954353898 449427605 183100639 508287377 551701945 423292573 580654506 160147293 539706203 835467709 640701410 244269056 724068793 705506412 474359403 937344634 597239556 862699555 655997172 679110153 442701670 658057403 671522800 530932592 249886579 204470979 207442151 796471108 496929498 564438851 750123965 621181784 154564067 831139665 860321130 477147734 141091259 939377800 884002754 391196080 170090400 610403913 965191077 754219426 966157118 547637877 191777896 146845142 663370064 570022247 119393334 839605354 278362443 789121895 811286332 459365788 800302120 529715583 126468476 233786590 485259080 115239625 856088389 414073567 334738854 237228914 115335118 333748447 772498101 722253967 961765872 779758690 254062343 896894317 606923932 964896030 753087228 477930518 450516824 767314877 790830384 251185138 562487443 579538498 868240426 575119455 342908402 631909675 467069233 769477302 530791479 828567797 333097901 783898149 268975299 353862334 786622532 467377266 846216891 456159890 836657721 314509705 625000967 311737994 386701994 772749591 715879094 131612998 737445149 452777147 631999203 313137199 392566614 306094468 559161523 254354802 603165678 132888566 702375969 622678762 161915674 165696233 891828293 309003306 848365818 176182700 480826983 385982603 665046142 891904804 853190704 966124731 560709623 194301970 272086724 624352102 537015458 737769186 767612300 937825080 906549030 232969896 869355949 618744036 899157236 269142921 453952658 769868342 505669740 770628895 930193880 692749311 363106532 280061011 259540782 938702767 121000615 849021097 932818539 950957060 479635052 213235465 682245707 429274371 505019931 291689774 672332699 910442865 987883067 112833735 159945081 403949679 972706927 743491671 933028665 918606650 490966615 623869123 976686947 956978274 883105739 854746380 540258169 344602374 774809642 407208490 447691624 663991461 200508078 450578306 192387371 491564457 326725282 632198410 791833228 847810040 531162445 425700018 872571480 134626204 934219294 224500608 181710420 605680464 702131398 632356923 506764176 365684243 454987705 141076344 678643866 429959424 263167732 910976615 263091450 298052626 345570623 763638506 334001493 573046704 744670750 624575880 397564313 713762455 773383330 235106127 412405540 928621612 239828397 983852870 724959288 956251560 306620157 344430046 640885351 230858297 756726925 540119119 318960587 326584916 263115654 622962025 453048661 224425023 111332964 754376962 644186237 676090210 461005899 975301128 721344674 253607230 658038886 464364634 595420830 358554495 347436812 453443717 327762387 618131733 241085709 495659121 549376831 563404855 122604742 445264361 726679893 431910742 791228871 277639797 745449379 265987861 654503448 198220282 374268570 962928195 817157190 929231700 686414608 247858796 936288462 163856394 553453263 688164274 374765114 829964520 868547497 224929161 213330227 361039842 648207978 569688411 466775799 338134828 105421215 896971013 689405528 855601085 145080043 636226053 356209125 109591091 789267196 127709776 119693953 963793756 736579317 703439000 352427490 675098822 947268456 420732701 154207325 123370423 341986879 538835348 228394709 891345652 969194738 332864197 484664121 782980026 124471442 599365694 348083737 584484532 919128946 548205405 990411441 186778991 192526656 173357079 941335169 451629383 993475924 413368117 610516786 536261129 529792848 286294993 406681621 768993380 382372230 761961553 215767610 665864582 958176402 510735058 739805012 532648248 967084687 182221063 549651698 467963468 426999607 985453876 675230287 661145540 488716895 763868085 617805037 753725347 570179907 723001906 568759197 358104821 332202458 355759767 809848464 902075000 865957567 241214036 393032887 188779257 751685531 995331224 315479807 917039366 160719395 592280739 216842562 841583760 489033531 611165133 847603302 232894193 323922251 687129851 287861991 438356829 972523539 329800181 314536900 522321655 923095442 387574189 980845830 943295445 822732546 718381372 974460041 938681089 972883336 425758826 956148263 511914866 228889953 768651258 429566503 134282346 459882623 873995116 839131169 542748003 962833733 282978314 803722212 965461550 989338580 473317851 707201990 635252235 533908528 250068864 645922445 693397936 771111494 986303901 922392756 421444638 546719370 221512772 162137911 940418291 377780890 439283781 508718414 472232818 737061708 549213247 379983669 943479444 112823540 903937507 970528972 854448342 557225769 276576857 629173274 378769342 518889122 624781776 885352708 169341951 871456443 446467586 223164357 906705446 121713798 853420101 786472757 779148070 875850995 140634271 523378630 286833626 766284128 595902295 780146381 266472848 448342441 375731242 425758742 497733430 738468780 974730838 601673993 664656180 133667068 826128231 337327261 109709353 732283267 336198360 705249571 305420197 963050639 295021694 456719927 771407894 757906524 655037544 961774788 472751795 451217892 725099678 454498980 948102054 816488659 289209599 312683865 137050758 662628048 761210520 615743930 585082021 724103625 845243782 838003895 990112339 462520623 737458718 101190138 803437321 399662809 617046956 904073916 656576369 582181432 778193447 815778686 389081934 144841916 586613217 123014145 618215002 750067779 244225635 886953117 295980771 466514985 889310497 797299986 709136990 801103716 187527340 327626358 907796109 107299726 678770589 867913960 376816342 398130731 249801972 475406373 246571158 279807334 739525458 598719650 776917177 904413307 488436853 146051368 879901905 232816790 515068547 734082242 381097720 311670074 296724973 959847232 611130392 158208210 705164542 753993205 581212791 894172422 777275750 228468603 495856791 853411390 968266032 468629491 319496875 596214162 388261298 149481217 723426906 175967792 980804816 440604976 521490411 141069413 111801501 600154375 743246960 237159239 492447131 644315203 903653385 772295105 593926353 659279011 830500767 119449940 207226208 256768932 750980308 914148593 665838811 598593278 381248329 170077226 482212976 310318991 606669211 496623644 799945776 135658118 756151011 438017188 402388408 364822689 692088680 914776290 853995916 714311334 723044420 974175898 805824172 922189292 229319265 634094742 995573727 248966615 368647215 640431927 790992626 761623529 472070202 900793240 677541883 249062749 541326655 130836543 625912003 433771160 122352513 951630166 816946848 959747652 942028012 685710223 807492108 234060764 627441479 349333881 839062078 909267538 935802966 670131831 444467268 629180487 403819765 532655540 880325534 644090863 848815665 155142245 248391444 767576587 269160083 856400972 957013289 799443624 625717612 859784146 783142001 436233970 810432380 275735691 326500847 436184993 909437174 201971126 895966342 790884002 621854548 157603874 142050887 151920825 833300955 386306662 879592707 926672343 410547994 199644114 587313106 815181272 974236569 739770628 242596550 407846581 709852319 818630365 295736741 891877775 251314592 376520119 106443483 527758270 178755827 233244908 693731348 381744204 779220647 875081575 570523351 696971304 861145204 222140023 441576576 873235497 848749614 985711940 240389109 542826627 359225964 126530124 750962013 208455185 977860983 641866695 351597359 162789631 428233863 760274281 551345748 669528433 197401141 461776861 966189570 964431582 627815977 124509455 395380175 308071514 463279462 347777207 641260099 523003968 373855630 860567961 401716189 772512545 891301617 770213527 222490074 354355082 981750725 889625006 463130190 383452875 792828757 623313441 807237185 496818424 323918460 497668597 476176879 745329402 998647742 417539050 580404742 695659864 432338528 513456567 648685526 567497220 113121747 897141683 975700015 313515397 736166242 246926089 102055483 619479218 510066918 403434495 952407888 235914247 303855077 101361853 143983970 676392845 918128460 762742529 234575550 484582366 840661497 489359460 588093824 689770333 841060139 515948535 249463932 542068945 778928790 171947617 357556087 835154144 676672535 861095189 674599547 761232378 860715610 603411497 428550759 394137607 180834113 318407497 318038350 624024573 176532068 457842676 685108446 830019720 408470178 645381542 332013955 789628076 627374102 575533995 691253433 484475758 627058069 716408116 131654549 841206889 713532260 887902162 475575048 795500101 525012256 532283555 623990752 483192762 870868688 450337707 561312233 990056772 281354240 273428425 873428223 985869853 950073389 445550131 770782646 569025812 178627714 282568259 894734333 951143593 115634932 982823330 550482579 241810633 317920523 875427322 393799416 266532832 346884555 113586118 921529068 516649130 662367643 985769319 268610175 998163234 214772339 258821478 174705569 908101221 758657541 218621388 777820945 704172889 516761846 513708919 545527208 684909405 286000486 473679844 101858371 518427558 176020962 974247616 805387477 409612181 631061575 626396887 334490862 580906571 220999757 351980965 116046196 768292770 328789749 478302952 421678912 709369086 894633953 768543460 262464554 925973972 738086326 699087602 803877395 944792375 246826787 956560213 494668992 279997509 949704457 998482733 329748506 770107869 670006834 584664199 738594770 264429334 659590291 926664343 546680436 791155761 383221539 425274812 910321606 546430436 396948082 588833857 419026377 621070593 352858918 367499886 798534525 437311481 539037463 584240555 282580045 105920703 977356173 656253033 675834070 488358836 679576094 593433703 571364334 222721076 375749996 385361873 894067832 436412848 912602749 706762842 342492386 188845056 799585269 256925115 953400650 633930054 261289891 212299993 833077355 928226860 128493631 335851996 971524239 160385298 949115683 588430708 484289325 466752567 812574140 779867403 945255608 562089071 638378987 206423127 886793419 991018443 775568417 438536819 587610372 452577054 383589132 719764938 353043187 557924921 182372206 771548574 649521463 181067123 222014363 704866814 602538456 828066908 781346447 386419635 834757646 318661223 989100083 377772139 217527674 823862844 956468072 957606741 712152201 138343947 216828415 943606024 693891358 700375483 480999484 345685662 111287170 531044831 327157276 644768142 253227591 270932621 850766840 780913477 818463953 711828614 825007893 542792695 241003057 505070226 347604961 509733229 308052329 226238781 703398122 727997056 829440506 207678085 325608749 397574167 968865920 424798804 976116024 610249731 582757899 788185420 454403615 389915656 904669592 575462163 984046731 485472724 275488580 188853805 194842592 319407961 475400911 877287648 610517253 745159361 998834863 648019455 287640605 418080194 493744880 531180563 506782648 495981423 409962372 240986090 519661403 753173252 139481693 675267168 894218037 296624082 710683479 830263788 744814812 811978461 216716453 902615351 830687917 320962497 773008362 245733561 911781857 206448213 715207996 685591032 345020302 716536118 724378124 893472075 952893909 548194901 335829976 293640804 649610291 222965910 890376567 916248794 879949144 796796917 779320212 903455208 895599999 408057425 185603363 594946655 521987367 746345052 152959063 287200082 517412962 330271888 519106425 131860474 187337508 780367328 121408031 699902085 469073433 295600059 694918712 542785670 824716738 670103562 725471456 603205455 748734128 725486120 101361183 412226145 348795521 160063796 890606542 142656468 270083254 601979604 523437550 858604085 353333814 571627071 404808154 757663001 287791164 624138951 999900555 402814994 727746463 360474111 928071956 354016281 303569835 720308817 995370150 396726752 352962662 984754042 367174953 259675778 148038766 989254351 558728791 505038065 284173990 724982949 261875299 322697971 736952926 333048677 994315084 203552837 413534325 657542876 630864815 666960045 181538812 690152166 784611702 250210392 259043834 390181637 279816448 649577842 153495131 381204069 411905381 335266209 914610639 854194146 865271197 457557153 182303786 814346559 839701962 943324096 166445190 869572322 440246247 646689294 846071241 421692204 999318568 739805101 604114015 677732238 555582281 361233624 366297749 635295108 734148852 454932444 492725556 218093815 892601810 889071696 358277459 703206954 359966315 728925950 861694553 120157988 706389341 869497692 395099460 613390595 843838805 719725291 787393974 543575939 773960811 338498658 239607823 654943152 746976789 190538089 578976189 317563801 256058464 882768062 111452004 804028337 824916958 353673400 118028974 753200211 939718851 862248420 606057409 336905046 469731537 735251868 706614972 486472731 939328158 871864435 875108975 324179226 972063015 957733306 165829542 300087310 812099420 542808820 673732752 482145583 452418259 457657250 972842506 459408547 574970146 808021622 305534467 777817881 348816282 716132652 194759869 690808107 654749812 126788265 532087013 421419497 783857538 693859800 296811629 713307128 187376218 770444497 574849875 111688526 473594342 188931224 939377000 126698470 230916824 956247839 128395746 425506578 508858561 953385973 341158117 856420847 193846773 876194391 706082535 244270451 856454946 921266722 379698940 440295586 863774843 226823709 595016199 314374293 637187486 535728426 820278062 234080990 363860945 370212565 226416552 843560580 220295332 442974003 594072539 899631901 226525880 874363375 212718540 854468523 243737701 206539349 237755856 438669000 640944510 390030495 641120932 530887309 594001239 366310200 905810598 815787193 347622355 723303821 107865712 785785370 243224484 140261752 349588956 730685968 341452599 361873449 920666264 791672977 298269437 888397777 677012067 692757895 876533888 828611887 692249875 338900395 737502688 761539954 427220147 647380851 395542007 108331294 751606966 146658252 315751025 955746179 256742974 212709586 324375165 106281548 482493307 655440261 928097066 730586946 986950223 218996202 427379606 554022932 425716128 970436332 592999403 315189911 846902959 445721533 657540516 435987952 362160774 226125073 470782534 937396373 566480831 140724921 740382602 872746866 875160196 711509007 188782956 326627866 221277435 778685764 586107899 994632948 795490851 859622821 156567887 823682755 296581524 643870542 292021985 765925580 778472756 145729545 851475357 731883323 315805854 188407573 600538875 179827949 698560011 823303296 135859933 653883375 220208939 598586011 339980821 646032468 969479922 722332526 996286179 129484458 330122461 724216605 192284273 773956894 410141995 448957439 195092416 429130660 262963130 621647007 859673690 678227050 637255145 658448600 873191640 996874223 217062741 683931319 939058587 779220807 817317491 438306797 646239617 753667470 267646123 110870524 103578887 616331512 358845040 128179648 575865117 388045993 995337079 919564370 525422783 537381713 747379426 707838532 826182812 410134432 362377042 564615024 626244895 818797825 462909485 771846756 847039285 619446084 791329551 146868240 709135002 231828209 659882448 176474160 341884762 883542089 672257154 573419205 464556288 889688752 279663217 833520216 809348449 125892486 685861894 174412260 939127546 179273580 703059226 874783272 235105628 210189352 412989785 816099503 587630981 150675329 705081629 425683862 592325160 114349565 585426729 333540071 644747500 339104038 487784681 502440509 906949413 267705967 540088995 544913655 751173507 204847560 997877560 964471375 693290992 127004512 355297718 175835316 610722123 815086588 334465138 750593109 869612136 248128167 369655727 815266796 661721298 983420618 289190329 869992958 711965138 993110468 677530435 974993157 745591600 406852055 640534686 640723512 531998697 905299006 106145449 129170844 132653994 988910147 798707102 386430584 267841788 131767196 955043239 262101544 268323814 409197040 955451247 120285891 723881506 660337327 127879758 258574874 824079052 547918578 155781314 571934352 535781424 175970299 676472001 784284036 901233619 713084692 766933246 513968926 881342101 740172466 403537885 765798691 434872876 967451524 641660117 434249241 168694547 243264067 900057127 539785742 698487870 710677372 260176055 858126030 290940234 465257290 744233053 305289857 507441546 867445526 199451626 422497322 403165748 414593040 891397791 575185389 741406967 843881762 843059297 275257373 515718251 596785145 566537396 823758544 742247608 489257237 326214133 867095489 997464585 103876447 526985312 956368069 920200178 475648850 238026593 982507397 902790843 267892625 151484229 536181663 685171624 911889680 152395013 683588430 131989130 641235529 588905624 952749474 843167323 522467472 234224660 246000489 710404170 584099470 346267089 385785496 573514416 944501901 473993635 656742162 280151876 326014613 566435698 761916019 621614666 436427707 102357777 994732547 584732665 725514872 794562126 300127936 486205438 270398137 819396626 916066613 670243093 146886073 736338536 167315092 921423173 315975952 297791722 412569844 505818117 279948022 351737726 984590225 190231056 259640072 851810725 514511535 238343717 696258414 457013615 904191510 616570179 860309371 931782620 196665804 571529563 485921703 556954946 972083469 749410706 400537224 833559831 357476647 139713820 298614569 451510811 362054846 542326240 985108000 342473141 704526818 202743489 408142069 966643079 306683903 683344903 488519890 193755094 995487111 106590387 914951295 637699943 569376288 199180524 407823455 149687562 988801924 271347231 339144732 303607095 966733354 526567699 928857521 287748112 320614220 692728146 673142970 340242799 290505954 314627758 350186033 841564348 845885087 447434394 751554448 390467625 513831313 105002514 519994389 899420548 891332484 384580037 801543467 120000869 609752965 891012163 890414919 604304465 333285614 336975946 681697937 846853763 814215558 945213532 767480274 148847651 514275576 820526689 291671208 337124595 976183773 148712676 688106078 610095894 306974394 362517402 178828943 699850052 806542034 463658618 187309236 105218989 271732936 561924745 286513875 852884284 959993107 917805942 211600084 794722867 589963678 109664461 235334702 536612991 459878509 827546999 927105532 328367826 400735194 912288026 926283277 868663297 225429308 133683533 641408901 435541759 663867104 235927271 343091284 205892143 244797316 581398623 957439950 393874921 951978698 634657552 608926141 123546393 577658200 966370800 691697026 229628587 251486472 890692156 627596929 732555519 473752731 292808293 813018825 909900567 630490499 504311894 956904835 934757240 313765676 355684100 320614108 697134736 615739230 841393879 612211330 494288383 500273294 877879112 264540109 539373331 268155605 409061961 302968416 648714218 947044651 413533949 205151435 782409174 685595319 846044332 301232884 806263634 564580831 683494759 711733197 724726124 897738685 268413883 586948979 984563701 629013917 329616814 970751418 943171156 734957814 398284760 327934002 754716783 219707219 122168761 631098846 182705129 688542838 535644781 478033520 801024644 353433802 450560138 372693075 499493351 659332819 600869708 938937635 154488407 375393563 536818112 763411736 323840573 815455152 635119368 597995662 868979445 243654400 487619572 468213150 715331554 557000221 372687444 797781161 789525044 521311980 742301268 507901659 797394765 155431354 350572262 478892694 389435772 288139495 179527890 704420592 427915246 553412204 703068330 773596615 799030350 692856512 823640637 584087969 452835352 290274935 474370471 312732686 706792399 903685913 353422519 191115662 898821009 463392788 821427629 925089350 283078284 917431773 603105532 409182965 155906472 530270686 203784519 932126165 596497126 466849910 308655588 177685558 438824021 482597503 873557747 643571711 306930723 185862342 867227643 427296737 624650993 871581875 251670760 833711276 670112977 841697619 730475440 190638886 424657599 140707640 805495122 313354776 934882513 158628686 626550238 381680105 793270535 707946142 931076806 640323301 341285174 742085515 164601561 344499443 821675872 874395038 615604187 389426101 321751001 222287874 186113293 468687948 418517140 574062102 909141615 945822505 211367146 176996126 268140485 315267660 631025863 860369987 770493545 935806493 819970002 989710603 273880517 732375498 928921382 782882172 200066574 270775699 447695524 432432048 275347066 964051212 461623554 556482818 904624184 777811525 527578659 819553108 791098220 758318269 531749721 474465272 586365902 703900059 339011740 659223105 145889929 854590044 301198478 942615585 270203742 243958355 462356489 556964797 319842420 746397833 270934929 422232171 986104912 234229816 962810303 540757416 916245440 664792481 984107532 968352810 264564973 469099935 531459451 279607773 103301202 891746141 591510899 794245784 896860528 541055097 912806743 355761903 117466695 836751086 151677285 730261753 356650014 947319686 897005945 938573407 617343769 720999493 660851512 803265489 742680904 580890952 584479779 701297315 128959761 245511688 579119268 134368438 110410890 520790535 672769632 978272132 467080630 134405413 974032307 209897611 816346173 474032160 801677955 773223482 445104427 316863908 144125698 849810833 490943084 973476877 464943133 843782468 891083232 852812605 973606752 313721632 197912795 919886443 714192482 974609937 232210992 832835431 787301231 357653703 330799039 230604632 278483846 482747711 497556212 491497800 483801066 247185468 115405370 656910477 377786730 287492387 838583251 636158034 611493202 793008418 544137981 523366741 489967106 656037819 309621570 871799027 181282769 543453998 537672802 769526377 536984756 607858371 908939990 777996156 288532334 499663291 752181046 574118053 413634743 261914665 712458707 312263109 165472119 987649486 520211011 269460380 554289231 785415575 929783573 262995747 436996996 588837965 235995066 255418593 719507033 243045285 743233369 508402995 508947228 550658189 714521370 196171386 426261982 810737536 615154287 263934349 222907496 542296043 816056619 333860944 169953086 957722410 178925399 348603728 516703816 320573856 465764146 783188230 159624731 526147710 734250358 812108147 522885849 670707130 949456144 586947707 858696341 347201812 319777085 188342510 864655488 180680136 263029090 951673437 986855158 267330848 656198966 920717174 159164821 622574960 907834284 714441668 446174233 151672500 292645065 396961494 884622723 738223542 800813813 288474595 143077773 645332826 472243866 837240654 193859049 696114433 758891178 762373539 643802484 476627878 483749340 916761472 303775672 272156680 198573481 446369499 585831387 340332056 564581460 513989712 122277254 950093030 693775844 188745572 775737350 513700753 107177631 812750868 251494809 885534722 502313056 892017984 876607696 113695115 262024711 279005919 738289030 474677003 612000468 765127498 283611983 818483982 393142874 324273363 552056756 776173104 177650508 814440410 975769023 333677881 372412277 502279293 333961697 527420834 989769379 376205920 466103984 564076300 929399828 204563744 181212580 949493064 752420701 496300972 605777223 670690609 478610731 955251140 488378137 595207630 353854380 250570156 617412666 498604242 368884309 780107083 943964363 981054642 683152633 190734694 144972762 140584331 974481077 248708925 211177488 238836022 664147812 827784423 693883353 211769406 627491456 874968727 451463190 826676819 962296555 466011950 608144357 947043274 744684360 406533285 966441399 227753236 284735045 541598323 920324021 225458031 756014251 435872437 972913248 968332365 831876065 971920436 721721020 722003708 837128908 973618311 304357320 629266687 501878096 898006899 646805931 862470626 560506934 318169255 352543513 677755533 631627373 874937316 509688231 639484093 976906404 453535641 904221894 941709586 269804201 350770610 962005674 716411350 544031865 317372579 317536828 503031968 282307336 567696670 131891411 137661428 230302312 286857003 311353244 827900404 438679097 305184537 683270384 460511426 622793086 852316852 771856206 546185952 221269248 538733653 975398106 293751727 355966342 608893469 202692252 280418015 561366527 349126943 864792004 868852846 459096961 749718568 732630226 428421419 405000231 919305899 377218861 556710135 965518753 485350404 228487527 560876663 253927132 315039497 531201478 934390503 555331206 995835859 253566160 652246168 120937630 892365576 476852042 533588320 791824375 318686697 569222677 385039085 351077345 891390616 201082895 858537137 651423798 300017271 976245522 441129563 753831346 801521462 375822110 496077424 586833311 380709613 661843629 369037479 685845576 226915436 908914727 817039040 824657580 732310621 180818381 793502050 323751081 678309762 638614575 244942718 686450832 586232359 404923660 311788666 205824184 349586267 387909875 292059893 585204967 639239418 396328326 692550499 642612287 748947276 829293339 465622679 651820308 180973061 962670547 554745718 135202049 390353881 272821499 556467461 386910321 968159286 454699553 418737990 221462515 290343229 555039414 132031184 886625114 103539294 689486072 487631861 223065833 814181461 701425843 170797916 122075569 829852480 933752558 630589954 542334504 761835362 147300822 340233856 468283279 892603927 774074306 210903679 646372137 506375454 663008314 716626092 695466241 237477881 508276178 857417025 530532604 894221813 380858425 897710464 977320246 903816944 185523365 779425565 795707596 123021353 333864561 839454591 278086322 306716488 591580689 684768978 745338384 864959516 187514162 663098641 175585981 294444541 329569330 788251659 126960419 427433584 459527461 394664015 444407959 472910887 193720206 707229811 437006497 502113584 721618235 936768305 787206589 700240952 507964135 809700123 677954652 990388337 142909946 442212730 213403004 391881311 528759345 978976620 402891809 432837436 760901828 269752331 552745516 837435620 918321370 800048713 272678671 393996756 235386695 788838954 118800129 809292751 771909867 306570931 765980244 220818555 720815890 455355642 559527880 869860770 882651050 593227953 893203502 440243179 206699335 451974919 664842250 896716372 783636283 727742107 411867775 150882589 180519247 745605723 381910693 379412055 358185928 788922331 764835217 565047882 236002545 381650239 695517197 277403811 882079484 304612061 279182287 976978081 857646361 707392798 539851788 727666281 217634771 954384593 448742516 525568648 381733669 596248054 666592974 157287653 781651040 313731133 143737428 251517481 813303292 482943767 669175592 852248219 155092761 277292469 324306299 866311346 742704321 166661296 707514677 956459003 532246030 616025122 525833574 239682120 972919979 812422265 384453104 163200169 730052113 462137932 717654110 346063641 231514657 468531033 468380275 430351643 978157033 862739504 571958248 365986336 852544006 113639306 327185190 840845065 485046652 559833656 462905342 627785941 185936482 411529213 514011776 136841799 163000517 213841310 743737234 392973877 869941281 340063810 436097529 472362031 237900189 665261902 519766229 916810312 295346101 770123157 855460626 960408486 312331796 748254327 697935223 448124757 227039735 190589046 766756246 677439822 465057226 316669219 708637967 244315528 231925335 411515292 160456194 919089862 339137104 522956021 270603250 475932867 448912477 486779863 689408670 142867925 920663636 889719070 679216707 943229360 414593377 966878252 747758004 899379572 798369945 966896555 109708354 197456054 133235134 783197480 775275940 205422917 348004286 474811408 467585556 230974608 844828090 275399970 623193794 610001202 176636126 327359766 512564209 751249910 742315026 806073885 865826105 258513263 724285527 142852337 909234905 287468966 225545238 814290925 995421776 500825090 592213346 696063776 521908891 809648978 204840857 612692753 352137238 212429434 923791315 443864142 131684470 532486174 700464450 615048059 166678896 169668728 649696119 614795912 413237445 949239850 767165740 498075692 130224685 485834915 619040081 513898896 232853086 190655313 229864608 661545921 957482595 392703217 299044768 844935448 250370682 232287469 154310742 291801904 868863438 808151104 885117624 908485116 381696998 451442882 469799066 316574939 240471883 876941271 262805934 282412209 132755097 935590813 150682343 953635400 934374300 435357908 833596764 671569824 773169659 600122911 383143906 463507098 814409763 947150356 857017540 547793539 851260692 216808294 233122328 624012041 618161745 460459608 296856208 398114939 846941684 889922016 665247067 128010441 736100091 628032390 873601123 299648004 294694578 663164160 606600059 153247923 208423058 362906777 458636258 197514803 166273322 435856431 241771688 923027608 361515862 520666395 940542208 884382620 839504828 572691405 109308720 946376930 466260605 720136977 603666965 465166850 936559169 525378714 516369277 835847148 106087610 523691634 119569619 927880827 329053934 485110180 245666979 353409442 949723499 621612562 523553930 424989122 374391665 282043185 149908585 488289632 878497927 789868541 706786389 460886897 951180639 297365378 781619002 935712240 511679296 656272658 302927349 852477659 177909120 306517663 930172817 372108874 830155361 946856785 851045595 623547839 916527294 216284561 450857585 159929468 911938090 991940513 607763525 738990784 143006623 282608141 949124131 987704176 287164218 805948979 171420204 532568492 432096294 805960469 174902744 590560740 187964395 867375680 774754621 747337494 991650565 379585475 354740049 331609538 442038119 703328177 936160292 824519691 854266090 843709071 243299974 458478618 911718076 259963700 276035899 384659196 491494555 116842547 163094501 356720817 943860753 505991396 174143896 568820627 250959261 483722562 868165988 945551599 215425828 262138167 373165979 122674136 256881740 760558732 526808731 753409203 772699750 409513800 824104189 115238487 877745479 248452582 495373363 553397963 374415960 838151029 786249911 850035966 709023473 884147301 907588752 999891898 665799267 938434950 738509405 840227542 916250178 742032841 687677560 958370853 842655098 427908148 266238283 827514282 486192999 245612007 556258040 775302753 788140862 611770218 639563527 620402544 931907670 944386649 537445371 297897387 700807460 911443738 521976630 860091696 386280514 600518641 398428739 328473926 379669264 988286353 643683263 490928580 384331383 660828382 783872241 341973357 382436969 165709795 738436675 731998030 387353349 473589893 772962484 981150048 951919159 131508321 758425574 463170287 309329032 415137229 144980251 913460346 820214374 426267778 840663454 768349634 667554694 180636492 620011128 802011527 173578415 139015364 758278898 266765502 960873270 591118752 725560153 995744562 164436192 763399544 473036814 430283242 311997244 141058838 768638574 656567157 322246528 634135102 444477668 535959660 288412656 560627480 244827288 715735747 464160607 421539616 974298548 199060863 234415475 297120343 175529834 763184330 726636837 909833148 799299595 116362921 215098590 478378844 666038269 400482648 161393166 847685822 648694564 138264806 383185241 707518017 351009641 561392623 121542949 501323791 804532761 486193250 624637056 838335961 714395292 794883593 252445817 750529887 256737902 260860143 298882925 155207200 513989177 943336239 775269387 126450614 238529058 698695891 824646449 775202946 326031830 316232709 788407086 844564717 828003998 257320391 637156717 223969904 341937515 483477334 629603947 432529581 777833228 444458337 515536302 960515914 838716972 127471809 795894611 449897309 946501456 999832235 161117009 633877483 233929388 183803575 309849172 166520840 362954279 900471028 808046091 862696724 389652708 814077236 842650344 726234948 907946982 927838398 965961219 586180044 237346288 255342105 650876298 448182245 511379308 181535671 766713118 813044441 859224294 369165493 271539054 123246882 290055341 700724651 221992351 253499410 731019489 920110961 528566743 294342727 121489826 250251329 548247497 283711020 839291925 197653938 648394952 830069300 732511663 313166604 998746620 205510137 968922474 806388155 719969101 588546829 814031895 863723918 175846776 214658307 196310118 937253212 391341466 354255630 355499156 840839704 490011551 141392218 921464741 620675780 132162240 448565938 647417230 510701189 152636401 218867403 134102202 915541634 135087247 874983940 757513937 930210145 960314319 406369128 170650862 672997452 562793708 934768922 999267034 565677119 314153731 409392388 360873749 449833188 936190045 947214607 433454856 285765650 194229342 778137148 248611619 292436940 314647572 347801373 520234838 700022115 861394701 471743065 544541087 142444338 944014009 821020925 374007594 389987134 519833463 636204894 316077384 127857844 483423856 796467364 451344989 108253329 585259395 628991449 564162130 931546926 124272255 598368447 526562708 281673681 787335759 100747302 109010295 969859001 757212835 317861539 978381181 314842887 697522111 490639640 419585524 592026046 637399137 115187539 738979892 347254413 613341459 355544935 127107477 268730012 974082789 898653631 459479219 242358385 666746503 301172951 818424249 932661986 373786812 551904900 684119246 865797792 416317772 104787329 116003417 769784940 766997381 709437295 786943258 997775380 307671030 502193835 946887411 207711349 579457331 455345277 377904623 116204402 810310839 261983130 180623802 841215357 332648527 303827266 106513961 797586191 693741547 310514311 444374650 618881759 347633421 236791647 881435749 382692752 492591692 677013298 253706651 926659890 484614470 652779958 551482972 921146118 405610949 409507231 474998574 792619192 249797255 229437070 317715894 856566997 123329834 134477151 456443223 684506770 739268769 602824901 753115524 630007801 384261943 764874641 641302188 727658059 478141286 622793275 578159842 649070203 910336864 539754896 998334946 236016434 597309904 464963231 802844396 580164534 149539464 938953679 645231428 524423964 764709445 832457889 585531036 845491940 209171975 805007285 443208278 584702180 620407722 274422851 586492972 563500805 324005021 830669568 486369481 519219123 222649993 852247945 470092747 210667698 654234714 300931627 198970633 852568016 480612568 742171952 445482928 760730670 778513133 782500409 416638465 529757916 556919901 925086564 364033405 733005567 199056390 961786449 415337864 470255663 180094560 868875230 968534736 336712686 964054480 132243753 241153182 282904518 664554370 789150301 163811563 912943228 683299715 577954778 123604348 692983683 584328671 800236757 166233547 177171585 932397832 351449500 427243444 725161007 732555856 214224864 415807739 308134249 723678386 796858539 566459932 244334426 606609617 699713645 513245646 475035351 384435470 932512143 604823333 913384117 835934607 861719795 698639673 800583620 481634628 808208170 192330553 325817432 817629935 941786723 431963481 265661491 717015972 438540422 171071476 633269515 908160521 679432227 124827384 471360615 696650846 588451375 208870681 965898030 952580026 433044261 263178437 572071215 649935361 263354464 986557734 787522983 217874875 861882736 149563908 635494290 194589398 153922362 407464606 759212262 356381228 431286756 704099403 861116760 577178460 972140400 167444782 833481908 220839942 381006053 673394930 193436091 266599715 974464826 266256707 297979221 407540018 597576967 775356814 530585752 932571437 520528882 896327947 815786211 153754271 351087125 342592862 690826043 103200041 748710095 105666568 639692376 412681738 295462970 405258123 502959672 937017766 599204014 816679384 526994636 833502112 728678959 667051411 884284319 640939126 553851525 942132211 246500638 779229127 128977462 612078837 414503564 872893255 194515379 571193562 119131236 404198995 524805662 494105575 586063798 246729313 734637588 339310573 161998922 383701454 599542634 340009051 208183272 989320570 784031721 438835207 788571073 111631593 966015431 759942674 271639755 534890396 354346049 950167787 570572162 171534586 830672406 260965891 509642367 724061080 106516816 365738801 147461912 177472269 781220254 208456690 223692743 957946997 486251465 206100112 431029217 973128821 785663028 330482910 651125853 433106317 275028258 823554341 487485483 199058609 407710265 271941349 724584653 695606555 101549046 734955581 832575595 135144396 460042554 715251764 214490827 926766473 118722582 510464393 517362214 743715957 783347332 679619007 283576507 676054042 377120077 632715599 492252209 572204326 997581747 994494849 865628991 842479629 614252810 744373830 169460786 515313402 983374155 442729572 823602140 184563572 162318590 746906215 209188252 919599944 348938820 220996001 463335902 204086696 114124128 136350069 973189666 149416628 475394437 778373816 905366571 669896585 446122944 711840049 385860483 541255884 620188620 408694375 495718841 404558251 765018817 231449286 200874709 144592082 327437402 162117723 333858174 977202951 541018703 913413095 388762868 488271213 732891593 483362256 504974410 874011954 254073856 424383588 113917906 846019076 355023004 374533182 250306509 946583615 671302979 191665074 500071071 259288984 696905116 467660710 635370831 749543701 114133235 188245366 997992780 962902975 433826653 227580465 331717485 940362296 719357902 971486815 263422905 494370396 344085563 344377302 139458599 235337444 786395538 717680121 816722966 233485562 189256053 925233348 926280763 417063003 211019816 555833260 767539977 222621051 234693535 979626653 734622800 707676986 183949331 903318490 326606331 735573366 861415631 132689798 387364711 919474816 801484909 883110771 265501575 461900694 571214198 647046350 218141110 769398949 284713730 239612468 563000102 414422278 299560915 940594655 895362139 210874948 247955187 516873799 196531304 778170915 422559481 456219073 409071380 386604471 501278336 372865752 479314392 683177615 611110887 201865232 626621363 673737371 498018512 821755473 442260834 849226833 468755241 284018869 882698733 416248866 812372887 743913929 366157055 630704529 449838856 487140510 208199773 683891031 434473233 928341975 204184759 646907304 380475020 493810892 229783952 389551838 197475465 261731670 415872257 952677799 287964392 493079247 774785191 393955108 708373084 427269587 882991215 797073089 422207303 595353487 915953351 262773578 569930826 461901696 958194954 451352249 303966578 952254755 766898998 902244663 716145642 652642359 902318341 691264220 213836349 902797010 355204044 966700678 519891438 983317733 785839806 515127469 324701354 669837278 277359750 193518211 219537169 567956937 444506799 197153952 713174050 955266772 585202173 884466245 729230993 806836456 782200538 418394878 688272903 477868934 897492263 891434884 746089983 429353813 650100440 260621621 825157149 513383592 952462104 224122754 307620672 279993751 871961938 606965446 741931446 346522523 390013875 858820465 439075490 908287486 597649660 403363800 680770633 152045485 763568667 909483691 263796949 903293143 604440011 642534110 558319961 135012517 320129909 243840961 712701834 874872959 133240436 741344476 924057591 901355818 867685833 692532922 962242245 807214397 686927114 670358925 717419898 391774747 529956389 749475694 979258301 151192894 802008846 793373991 754133955 967384986 559714549 367730111 677145695 109373181 862382615 105992575 216434896 449336112 772327077 202051570 821518664 582137989 853092319 348760384 772984095 915577391 290327140 457556781 597578820 837614190 532195317 722415332 620309457 347092150 848419766 911229183 786233243 650722492 351222266 894194443 914178494 977258028 929574202 846051088 614952680 710020556 484859043 425979489 393616617 758562707 596630275 849280418 913612778 432615749 534938457 267105784 238285734 536332225 279281176 345205737 943011545 166457431 282789817 267230541 704828791 309630438 397958694 100135092 315092855 171437805 268652245 562421658 589353078 268482981 587038896 801262613 241790857 583425362 683899496 271911225 757351484 120257733 776207909 861296614 518362021 501507146 601169382 989552469 430175050 467944397 287677840 655553344 790861291 816459429 741441822 421663078 918525175 243870637 287081093 409839778 479725652 309931383 942272576 114384115 837876955 802362826 873051853 572705751 408727549 740459979 866029235 317608991 986209157 430121704 282282611 539856482 268012562 606165749 803628032 775629595 162667314 980020846 743634377 463380556 463748356 282018196 578015806 769644863 736683460 629538595 695595575 246535184 212336611 674002773 910528572 747100863 180726367 811848761 212412567 223193727 962260598 951547189 684471711 587989421 278384519 620797928 216655829 620442617 145766296 806619894 332844209 949785979 719530612 117547145 112276702 724310841 156115277 543751696 989135762 410087095 296548026 532939064 223106680 117083551 318680357 914691645 121760922 301000838 995138607 746250922 906932350 758877487 656860217 343833824 996663715 457005515 475517545 305777581 649800985 149133340 258081104 355193839 856137785 854084172 282028002 373152179 593967803 221952364 580629968 681707564 135232847 807638190 947566114 813787816 936836793 549714095 731822718 531343546 190972562 731280613 253357527 352478147 377866758 542374210 842194911 861807955 910600067 771828724 187159073 125879480 915017190 418636655 576999317 186138727 345880913 223600058 220103206 894449392 510666886 492684044 736074631 795659289 809510820 282852182 474818123 753906367 820947095 353054518 506909336 697507257 178180798 420224567 816586490 337125009 888541157 523801365 623722226 882702006 224496127 864784939 276984029 635417684 853456473 422651181 386458704 815652888 428492378 941395125 453073535 162159900 618152836 446808464 363886374 487393455 370310371 168428263 278354133 360223939 873583500 912866704 880309336 250830350 629359819 114813569 346569485 973800334 118980249 473309817 967390478 215792221 832898253 650372185 751202518 616484155 975703566 670566713 343926047 336196107 418835590 446866825 754711142 673393272 401722543 482823616 827214612 768562823 810102001 297378338 930650604 292646465 835617890 911443306 270619204 932574782 521043762 492171385 362314263 658978976 399702124 345866944 237344144 193463973 716645956 461257092 905991271 412411592 396388308 722896886 353972014 605618791 401410030 529879458 521723179 795333319 105790689 696232207 195379735 804191798 984342164 783327034 380384201 425971155 496279556 298830489 893615145 456555887 644706872 198375908 980389814 973864407 791829390 242783444 455259168 933658237 443223419 546018818 125243921 286247406 824382294 876886541 454619387 982186792 407011767 127846554 721095573 814869308 235446504 432595171 247789283 124082318 687078243 389274659 573933313 275100469 626480259 749831175 736890854 498635653 131163671 347133686 429010136 341165700 856937903 531229501 341977984 891024632 986191677 511003951 883057482 901888615 873827124 292605209 859519125 479207844 971793218 142747102 424447283 429412080 753479612 330744214 451739889 795689857 553815434 505619018 308276395 648371176 965517392 442538674 492662519 792449288 545840259 410264915 737932580 882276820 596457342 186356991 199253846 970520716 659566532 867294457 639481758 239916462 733374496 394855165 641643561 629903250 803508848 264197207 519696223 412072275 224576147 769699547 493497846 201879736 812307570 822748522 800165555 616582800 759404315 557602454 797105581 891357256 904633592 652333154 185115544 596839459 821869338 406509174 640971046 949848670 714464874 568256107 560858474 200863000 758984977 542702553 152155664 585848788 850236080 555067507 762512498 124186674 368153286 344833198 796811612 802158319 375762854 533878147 799588950 423687320 389037747 551379666 924799410 392089908 281581258 833950258 576900805 882792010 780589314 849583958 153555836 778028520 104881411 139130106 643910210 731039068 824993486 504221043 525857082 330693584 803429349 164040522 837962013 790534413 863396760 590349445 615210609 183264934 590126503 237910854 613101608 476774190 631413453 255927141 580768848 583879591 680950909 873570487 735758612 679500887 988181132 914117692 581453386 704347436 706367181 115684585 317428586 135938347 142421008 775623817 612777844 971944300 590701488 325599958 608451528 416169799 104473068 927906890 209430332 728190291 868373875 551513245 215386470 228043675 480804701 704480862 186066025 489957909 626259090 861963922 470055190 790464518 436763130 645003294 906943305 430812850 727549549 415691920 819067972 930502657 992286928 771177408 589482843 266373435 847478973 106337126 396705657 811239380 122943315 685268745 667252375 719096340 465711169 584912073 904405481 714814186 111557342 232273676 508871005 753917653 631634442 296192005 795447414 634231895 556692786 731673017 811556117 148512146 101745818 610530988 318788525 968350360 436510347 738404044 706585389 244377455 879514996 277775845 856597276 409716116 762756855 340241602 978175020 695066713 879365835 667488636 207102194 372894429 962038455 791500465 434249251 770318919 599699397 236620817 427158825 392718997 768787230 678138718 722938022 161349423 102690219 554025136 560725715 171184596 198894482 168952045 725566630 748482366 150091726 906870178 534414295 860566880 522868015 686997776 814570989 281392688 194317245 848012600 570984381 457186139 584234658 427698541 669263000 236925134 700720599 190596962 283997987 679503664 795608762 682146865 277093088 285973670 104748701 413333882 868403878 473846049 798536511 561093399 177557084 338019895 482068825 482332390 514454467 465414909 223267400 476183922 230319020 581449524 309453207 864804533 403575706 987630163 362203482 992057795 480154789 941217370 312753118 187635459 946785954 702513911 769117226 516109942 126843080 428220299 501400434 835020683 861092805 342929521 421095932 203429763 527320459 512086059 770221816 470206507 666396588 423587199 585205261 298619704 127589722 981545112 427491954 316122881 626391682 831027420 759393492 268953907 787044017 945481633 781763112 208040601 442692673 451727400 592731502 943491270 615659594 184241871 748353636 533682121 984911073 515978273 549127943 877723770 337794120 779714610 646537106 163879915 207517956 222958051 934452600 654122764 869948535 490468373 346259086 551659894 657407534 261778346 844029727 777367348 531656121 128378201 825717344 963952282 238167190 560280368 930330944 382260602 765643650 614195126 822360796 620409028 238144977 384045913 339909033 590653921 235652301 403792159 764632307 560613476 861333556 578661707 265977527 146475353 901370032 361813722 885417922 611906622 833635347 435495163 806165506 809307734 767812153 959614109 894356448 358135675 307350202 327046657 240498302 902251179 612576058 905388221 501941145 495722148 668225978 392208452 266661495 500329538 950655601 820832485 185908319 454092989 341146902 859713245 258097514 773106389 732176489 339288405 739386126 171976777 414548488 995484592 847112680 446680354 583414687 630998155 135300972 219760617 913736277 430074581 180968694 162725539 269082865 629345106 790518032 772174825 738137018 780939311 567662676 750700687 214164958 858148719 909812410 907927450 960540840 610622230 386002930 522435758 130233614 366693354 163732331 620507173 680975109 846809017 815044876 755995542 186630923 681512548 541381541 252300139 227111631 967816888 482784793 982568189 395740412 518471509 356053994 319239769 260619783 864212348 539797420 319406514 671326760 200501422 761093373 441643280 965875068 875259104 546700948 695753475 672763223 533956760 250601288 759290271 892025632 577041602 551366941 407513389 894229021 180695851 722980161 663451419 113325548 570943612 291975604 877823977 220426293 862654737 293723570 811102724 370339970 543335639 976875669 198726737 409855120 720889000 684009916 954482235 915333502 787546342 150506887 314180519 121991950 336338944 487192420 637606470 970090685 466382140 712844076 342411891 141345356 983561469 842540451 611931248 747675342 790490436 700695475 315268103 443173483 111542097 806258935 620019587 531029636 155961318 823549978 789926918 719889055 745993216 738548171 121909947 916427077 901460618 223102769 639821754 637428492 712778200 157551078 289463307 910373869 323959182 829139759 584620762 103946754 755866291 227619515 801719123 955553243 865579711 408684304 157255413 917914650 631982104 701923730 649738183 801417199 510499085 586945050 745051349 605675787 908679838 987596525 727577893 703938037 130571151 348181474 244743285 322518614 517816109 778161747 322561304 451617287 278918123 246278279 303683105 619865713 343301575 894606519 358322742 245934767 514124364 457061576 925427869 115450585 652942246 373234684 130434774 196626520 389759608 524324307 921732893 759046137 661914506 123431435 773727500 419263803 395517684 523008354 316578364 156227515 982451896 264061444 212516979 916656293 837679894 448926263 364195869 623606253 168144730 298106584 201687698 885353208 168074471 418126088 597470320 237391637 408578298 940301879 530802446 183200093 337695971 594953666 666073260 823802612 299066271 602941166 932179882 586781874 639865181 156075789 538019058 416809479 831811020 743575859 627883384 386975170 862209104 634078892 234414794 476341491 670155307 506610476 883681203 468617812 758362217 470614213 246003843 249279277 299452780 313349173 320413674 224951103 628544347 384675953 481824741 750167021 123632155 804756740 705515933 530800335 721396282 448277239 423820959 558057872 525042969 330191690 290247217 782420481 886939014 490325244 659755343 528637546 504329842 991136595 274996842 248596958 213994295 538723651 569467400 418166548 167424535 667730629 481459313 376883550 783035462 986768369 313619889 356513538 970366415 960169198 129218868 638027190 365195820 580468944 114190424 655106990 382329030 793478312 134927223 653609394 962259607 862195330 475604624 665898644 979519666 863571353 270064363 880947070 129997381 212738126 267065860 419373540 656418297 780184321 166427858 306983831 398376670 974610433 263825311 491127221 365665914 316118991 770460964 806618484 834740377 896977036 320751636 550036913 699167656 366261126 135393441 915899758 320943914 382606523 908740396 188566831 102305845 495956315 818522579 576404307 316909680 159334785 252175857 506264932 321440158 229361702 337385658 456014971 998589312 377913000 985110533 541985970 506436871 857150887 743764831 326500278 195497114 666416303 170709823 188812495 233469960 853149875 594610753 160349873 324390618 689062215 207241958 170387013 300491428 556550383 172014836 376912293 844665921 101121500 878069788 176671742 320369123 648382106 971705071 889953347 841982263 455735607 379825980 460635058 856158083 690535046 471107881 579192753 879778055 144240743 714413379 152139487 431489893 880728182 645397658 142044789 860870639 870470138 939154640 240884860 378244372 736427837 303595653 611367125 734728259 322737285 642081969 110094936 276852470 932772501 481563241 712487691 817232573 283606631 142970996 434262954 571419733 617822781 353392288 151881239 953470269 520043593 312954733 626906260 407132515 996365844 485961127 465820471 991697675 400816826 565416881 586271202 324419595 368164200 275105921 502767071 851266497 141427246 213610839 656258860 139523359 225496431 320872821 561647128 665230901 842364997 694522589 302641785 828631765 380809035 191291354 207348846 881616389 976976531 793027699 619564114 186911937 454463062 483009901 879972207 768125734 983608258 927733063 362565072 525860846 998078061 496114971 715094727 416174343 679017103 199880176 518434951 167781560 412173341 700474269 402895573 957309511 177461763 976660171 763952224 248184999 164908403 780879443 459310352 604107144 187098600 184506027 945044813 261718368 326153872 935906202 685662419 728295650 991402750 966767545 649202881 867236732 291021366 156793048 819279830 883948947 337969739 977494098 401284610 183223827 283975821 428815624 820000832 571721277 764495023 251214752 405996349 535154571 229947430 735204580 553989636 153589816 911129144 847382697 659168661 971311491 690932487 874020086 232208463 263733463 395879707 806187338 627658729 936555356 733266394 141110114 517672380 210963878 852780001 951963025 191428397 667867726 270078743 427172249 310784017 997480105 870036017 120155869 402782839 646100402 131016443 351202033 136491217 810957880 718234037 621791571 683517235 516552074 356072744 473962763 407462669 672105629 973246620 501878116 684654427 185841749 243054985 797314960 332890811 158266737 110222556 401280319 266229792 971767536 273015284 822555049 828764634 881369924 378481746 408668879 120127403 434354451 232961160 426683095 350651796 743462347 588433641 822372750 627049808 141617158 714128553 849153729 833072707 292318589 421964208 823232383 603222923 157609068 114572907 905013904 360911974 929453317 534872587 613738019 193292663 788352719 307361327 551384885 156500967 979834001 860568833 107773569 341331153 406450996 730885128 534559563 363902930 741173643 757624650 462681787 273369433 278706109 519337155 764022214 544446812 458476533 937131440 913256618 459683048 904448622 714226695 525070184 263848946 887837098 788397090 575694792 462507215 354732925 218790800 480695704 179332779 826563664 245592560 205450359 764993813 219697195 448717476 456133209 841931603 466360930 831632845 773615529 448082643 357420196 384655010 503371432 718964922 812849291 540931116 765552967 755790337 898402103 562125155 845825585 995078332 987289866 286097545 232277017 227056313 646341573 383978305 705950510 798257131 791698513 925975422 996308132 643512025 245160606 503529830 906096239 700285837 958555169 849786381 753810593 468835721 325884499 213969744 547421426 176047298 854769949 932677071 877115495 258351131 729317711 243903232 468955022 811844127 135952759 253561868 289042311 113329745 895891786 548305394 990895425 484365971 830486866 178710183 268895956 326635831 571098180 670355014 413115986 498063029 161796753 309859695 880281980 768483088 403842468 331333133 148206864 810048975 530395419 370035739 422934187 470532003 412221530 391854119 449552394 351161003 637169740 187398383 345238873 581711977 396184030 792014134 356413314 531157903 245140995 837354494 337502612 502622001 317473422 382181808 332392275 212722881 241764845 289761100 101460912 344020504 301499643 606139500 280936257 132590902 643620588 853476591 339436346 943555795 372476890 237364178 304493687 227247991 936897958 961111799 576441242 938020944 639542292 919066204 831645827 902839997 695514101 251080600 998823164 915523903 981271078 618834130 637133259 727595335 141319903 702368167 295505506 594025861 756694362 359572830 905641021 904628666 231466985 684707835 518118363 895683105 609440749 384357328 615193526 441180816 316969155 723443828 458470455 165678944 161332275 356668675 183180743 950584875 813759804 493899757 501741956 419065277 628505774 986386070 583440715 576846652 614255666 891979722 590503000 806750987 676249990 415674950 391846619 379609360 314532368 952329418 414876893 142137809 312545547 112882774 277155159 839166986 977379600 796461938 653959454 626260285 178671344 618520682 676965666 329012245 485816441 808164932 262158136 431913586 490689517 271538335 657971406 587244078 493661615 160058038 690583325 105349660 303790785 235333875 992188415 683212367 114641917 975797339 249875890 105547650 623852523 626570130 881016788 734641226 979573793 308025862 476185505 169153663 395164949 130705302 903665224 924512264 363788371 737855691 707533047 903243217 787485478 941989858 401734981 923947646 690373940 357097024 776716738 521597526 785808775 786379745 604312616 535549669 633215873 643504078 217326676 680372485 530073081 600408456 351964075 729310750 978335261 793007701 662438841 162754951 544998682 868570122 896383442 663939836 364529245 599622128 266202797 727675107 657301382 448863126 421700653 891087953 462962021 776167306 927068445 378349917 913213004 360097367 146071517 704917359 551068095 124545813 806212046 777847608 509198269 130579063 206438655 314294145 934425120 117594376 275461732 935151556 295019677 936875851 319966265 454582792 476164877 538478783 753711860 433248972 654330865 988715477 717726447 121050479 819211246 435445225 668949044 232616631 966439860 664207509 866172148 402931054 975751720 792430953 282525105 565974681 652089650 233287878 132161711 920259823 496495180 234764462 703183219 946402600 163593057 186196648 932915242 269594004 716342784 977991499 174945565 678609781 863223009 770286587 861215105 349862388 653535563 481097122 809583971 879353141 124805216 228111458 773350897 933594096 115844772 219471029 770934269 748590957 210910643 553610340 632875711 891023673 207169275 466328117 855098049 344293973 168049782 739887646 935979481 427494992 744236663 945326193 219802895 855728713 168305124 217973984 917736864 316093364 930707144 997349550 118709086 449590394 319025148 209867376 224890474 261268562 544120188 204696221 514890408 751103479 892100545 511995827 551805630 839545956 205436599 364262346 685263590 816515115 847849564 835299412 178260646 128384027 292806656 100479157 271087913 837389278 669355359 448718017 400172418 890598637 511202667 829853790 940788677 398679008 326573015 776199261 658072736 463673123 922607401 405476061 178395252 484388114 522281667 858756334 626017207 892812599 266482103 168313630 112739250 218872834 953016616 838025036 644963524 195833088 847054771 873768937 133931616 752466547 418628376 661859140 522258177 312173314 478747461 310127969 694987357 213758250 197834078 548255064 844669235 589339736 368140049 636341765 875562890 910464986 266746312 986167661 274299816 919537198 815724634 843272708 563134832 425888703 551101383 607075579 713900158 825915901 185247493 989208183 493284224 612833541 988678558 299722198 530495331 415770868 331535896 175091416 154437304 159360878 414709096 206052965 143251110 811437222 255285881 885159418 223540971 230735315 894637678 327903071 685174286 587862247 745385153 434299007 655777209 810642015 166769098 105297003 221485565 929454295 341247359 559832511 962741632 651033820 705356549 230162812 332082671 436758665 747759002 136773729 832314599 654236982 530287672 451238981 465745921 993713997 967145734 123919076 304169829 969886340 471824383 568003132 222251578 474410200 699808517 986342791 870394801 511191531 477870370 573408485 342925516 610516263 996511545 686535556 850523724 749565553 357994473 664889142 917863305 201529802 216781753 116221024 340526718 153811797 493325959 179435617 258042417 366031868 476251238 877612730 887909988 107565794 276857370 981019928 646743343 163870397 321124884 158759026 942071470 495669721 269024800 343173861 200851605 926138125 961828037 230988793 921120761 682761089 290139960 617194130 358958154 726376535 252719586 717511472 337805411 768850610 867816608 852239176 696716193 705855785 979439955 802925786 533107921 831641686 515976108 565801046 570492651 587143306 866768604 575751507 972122308 183060729 885429052 262215917 623000508 840762112 160351879 730400451 907391797 755410214 437183093 948572156 362563955 231686260 805035959 970901249 121344958 902971591 697700701 225000267 255362063 147437203 752763811 330649443 935436514 564117834 587114384 552683028 158703120 595691843 431455966 781697282 518741061 916359177 542249151 587783240 983046157 589788682 914446109 137761902 632675632 522131204 361381238 398533220 857795102 643946295 902387174 830523712 452009690 658867601 103651848 901821622 228062648 731583062 694151453 503761107 236499997 260037422 227004129 389603287 534122462 656669436 493797286 975666926 105597722 741883903 348958539 136001809 416393316 891851070 508515101 251077964 981801835 381425936 213070147 173482122 540213665 278917882 407411252 260551535 556863394 663852251 624104477 378786134 728993486 800467253 790283470 792295528 214361808 421431768 626056673 193861701 982526113 636610522 313460512 390809451 288048647 598360621 414900226 134931290 606376187 192963008 346375493 485710899 260010042 202838163 200568350 194762117 285589303 800624785 641921824 728589416 107458433 331513555 166294645 329599821 108580714 802831449 219020503 886058788 254166050 936180763 236684802 675839185 240600109 672498138 329312948 156790635 807854246 370623223 369318363 604084937 146172090 464798216 390128547 953211567 710502550 315527031 482033399 680921994 637068635 291008555 213878427 858984924 905687647 621286399 574452742 387180173 504259004 731435932 128622076 963002497 971616113 271758751 724937504 969425880 464194905 614367023 955858633 594625457 409788249 525991660 216144416 215550452 168814548 277931301 756590179 234112317 249303135 644010865 895830822 336847125 509219129 249528197 975054854 234285779 618258973 752910456 371881942 794419551 727159212 874380525 899087320 139675260 164191539 151701615 613801068 693346375 548782176 459141390 889866088 591936358 762606339 812541398 166471845 977439535 991631163 616041106 136858210 365997838 394454454 994363005 130258683 463944609 991122329 791908625 488719996 424113397 553684500 745046094 653211380 838101479 840407547 695194767 614062891 247384104 266823749 714849927 571964162 799440544 739971164 897167683 234723758 119917370 393131224 828853524 782451133 697386417 471070834 741364380 672162680 522533315 875685888 820977572 949709560 211290843 295362720 340500630 105158844 978932424 183935158 500639101 767185174 906276140 125233497 559344710 434527311 911262801 664707960 414324550 166081279 852917038 116358832 492172442 847778320 999630021 559549208 717179430 162469226 412394862 183994619 666636606 752476526 168584502 111659833 633721863 339957783 846658056 934378026 234197828 780129316 431759889 280342366 376181747 581751201 937247359 786433384 638760401 395136199 574581676 667629854 650780523 100690622 759777052 136477732 643242590 144110394 355022147 773052161 527431987 882389556 892293597 459994438 118267484 369956871 276852538 262278910 663499556 722255149 766951325 213639380 122726263 915503680 829164556 569755459 239913107 300976016 103314204 767702317 517762948 117065207 806432804 405301688 802781475 637903623 534624721 200312766 186116695 539665875 221109491 990161861 800257372 463255657 322764406 902219358 397013781 221385867 451972033 581118103 653578745 684345761 255339539 334744558 583872256 139697293 508915593 348311645 646561727 458849980 980337700 414835223 394936982 726486941 375263833 245880269 625550777 771448711 682347617 830374945 775368143 863517661 781824328 992109441 189517384 418290131 954441339 180158868 400444247 999595443 216877571 270863314 451421760 468195637 212172648 578505303 527488029 561928251 463932698 707846074 284654800 464020749 412077812 549971409 211466748 518467215 344596403 718844297 717023813 202169530 603156953 157655463 940329969 627739926 390263323 938001129 945810175 974954496 111551241 556704437 416186405 583088220 715667901 204721535 522144886 380804662 969473279 144095239 446468614 824728055 368028287 698786322 311303942 469637416 519672448 970850276 430599542 639863617 138395910 937719315 301052112 151227310 328524809 285223647 676517720 760249578 736006190 654712006 829613369 519193618 562346360 689795639 566899990 478337734 700698670 365935548 257823988 194379289 793237116 228307053 323035668 626380997 204933431 774415106 180630718 275444645 424510208 468870359 161675323 281938109 898008160 888928658 392352553 623155972 935940357 816443550 160189547 786647299 979259110 484570144 829307526 563615677 418028851 987022937 907730716 632195212 703249513 685117945 283543842 429226436 993241213 596798012 996015066 895566520 829717904 957694410 908676604 879774172 699971898 789563275 495775676 130958999 398305104 376550596 330864311 921819027 518119820 175932545 267964478 271223069 350747321 326026340 533231872 960714619 542718824 718164957 288759527 469506479 711377088 227061056 683004446 789980874 211349316 494369124 114792778 764951406 751696008 578494635 937506373 706076249 436144353 628144240 740267728 271804184 903518432 444120044 577243712 990202494 198965259 967624777 820098855 651125142 285132313 881787152 500412525 181941257 662893161 807298425 107888220 719990123 949445034 994321918 172794702 983001849 134074690 222069091 460095531 412881368 152032148 400506462 387397612 406063954 974884426 480369495 633496552 569108760 581384461 144998150 713194779 372868732 830692591 767434855 315651622 618076128 625111397 595931820 769848042 190215170 575352705 924478370 933331801 628590515 392031686 957846668 894249670 457982579 932836545 319932249 470782284 664514470 385297592 298005439 638697262 559878542 370325827 327572511 505695191 423573045 397759486 443217441 802838188 998388720 495041643 997621994 554005923 921519997 508714793 557477154 262259616 414312491 196994812 200356575 279810910 817656997 533045216 898162163 204401765 836238022 549735297 223125946 282100699 708277113 698555940 567316309 892973479 231938517 918838351 128608812 897130375 988788046 573404035 507113593 963571799 788714271 253108953 901977898 828946986 739823850 342859550 926702815 192031656 914443738 122004562 872019028 405431757 545068453 636384838 521628486 438789455 678303638 654531152 755956468 405183398 335779226 870149702 467046595 945909829 138630537 468005066 955291327 698909138 736882654 664226317 386531564 666975049 299347803 674099048 594201629 592069404 731196476 646355831 861125218 707743754 615931043 981343325 181780005 151025560 917465817 922908588 894696491 439216803 194747348 315249170 448104146 862549908 405188649 422649988 337338151 387238920 478446571 147784096 450209311 953271899 857873313 807651667 947921593 768958917 499621370 751031341 805268924 182111422 846676318 929319265 258123501 896800354 344939128 816562619 857145421 645237160 403808499 252116507 182192501 165786192 605981074 415622414 299912930 453330515 522987382 684428949 304522383 646571691 157134930 211583432 463366265 563377102 740758734 966811305 472501884 245971341 536926893 158584603 433286961 268203950 500454631 460237709 137897249 211967668 143501604 174172245 498715765 315148117 334711329 959517571 873888126 818422603 319423120 611424618 308341511 165084572 667810536 506915940 990933127 465690324 796504036 338805843 420413671 323064309 809023745 292359303 200217473 772819245 656530645 237781887 248224325 257172647 594131426 336421251 517114429 171696874 182466082 643498953 988067516 555687465 311694506 621213894 369281894 231530010 869528287 342808562 453531421 312658251 844284517 716830777 888639379 740170554 549435977 449934417 483726220 462316702 702837072 236492535 132209389 936742266 129371956 513501263 685203423 611075014 814103531 168544779 337612387 787109916 632705989 726517764 534191851 160834537 407346260 615328132 927753223 276487900 769337814 955382354 869802631 864374738 128199374 564085047 488662786 899084972 280871706 309426884 846247986 864581068 273090957 495363032 725549490 637366469 839680594 919494469 766284793 513137742 245028880 821627968 367864360 680552173 702026675 868399740 639113531 487171288 283812505 935434884 506148312 636903067 583460259 542394647 554630669 638629465 357576796 341917748 603834895 255865022 887031582 522249706 590189968 428154152 114751757 298660623 781714570 343417431 728699323 131821506 685218630 608555987 646634851 349178700 972113688 343123926 305274157 456813328 475728434 174670300 830566138 134889107 314693055 682112429 924987884 296832905 616756877 590544874 767328144 142008014 667092158 917474332 227176540 802269669 283630781 429245918 207019661 736577772 521639255 879854020 789612181 796901144 255218370 633899710 999379658 272954823 826112720 355233873 327607328 823002112 106548660 502083044 501924460 341083251 306906877 178390023 657570716 827242523 136417826 674439754 807486843 947169020 815174584 877156391 563785206 434662085 914400057 990676802 171914894 974905156 625620263 407843658 475688685 694836990 848722603 699099833 130484702 766708426 529273225 362360060 493404141 191862127 741337176 373978830 217211836 875338360 693253119 201231593 723255423 374147224 149033934 426653849 310440358 577221005 874477637 906508906 138506366 928755364 959891572 431045399 988824999 196368392 670862143 177016548 287424877 894210934 998294891 524165484 633983541 104548782 470050775 144351108 260555798 970576522 341957346 763789456 972664680 414833264 520261224 900917804 307429050 836759339 831428153 946945476 991686773 709503756 680428746 862603373 840952950 230937849 309778161 199299824 207724600 239784101 750048142 532982160 194959927 707245160 607669329 372322968 840568710 990806737 358630245 467226153 236668165 158081795 605143697 596164844 962173831 781473717 264772524 564300189 340291795 152170384 414607769 775180354 369771529 678629527 164541759 611879699 934731677 416561508 851272383 306052764 392439041 245603613 576688844 724217016 866027242 557415523 863541503 168979854 972143418 924698325 377184653 471503835 622579976 157663444 478619420 448132013 627173026 108504884 638952206 724178847 417986269 214274110 337409160 730843540 494208407 297821241 195825646 855395765 109936350 252449619 191868854 164388094 601290211 886206171 826201558 980111167 896058795 507449162 293909283 483988479 527592227 103446226 363713465 168094068 969651648 629061559 772960316 740036228 495932723 509599051 518760477 338187368 781561750 259990652 230186404 380389073 519672996 529572228 285691595 343482349 597909537 552468428 106621441 188601998 277655410 533097996 718750431 562047281 273366046 975031408 177862930 971566596 684151647 884942543 380154075 807698748 897294212 613132733 193536667 937803033 909487580 221407631 358204226 743115502 655202419 896730459 669281761 283785464 175011064 774410491 541804819 678107340 232276746 884880332 353098373 303610778 572454239 175615554 267736231 982157690 273566428 507677159 927232698 921638388 153011995 937089836 372957933 542577624 404138028 381954814 911389272 664835970 938798592 867266766 856966795 689602776 463175094 152087434 246719226 938181701 412994718 172580420 216706639 478683472 910249676 153151132 698179190 665402197 289762486 347037225 768772246 792010117 463922856 310880892 132810459 349256484 344633310 835288602 987698955 974615622 376698858 674379948 828022595 819825625 171145138 876863986 226987574 989849065 855614368 758763011 963456782 560130589 133587509 336998369 928393553 798427601 931528699 394063524 222495554 430907850 864730873 932018582 561792274 485817700 843513493 559741526 895221332 761113155 895254020 343553958 878496839 816739310 924884396 913188570 250210446 314913956 254828350 504200531 141064010 340341431 230575103 873990975 860298176 863380655 931045563 820431648 863994338 299408126 313862849 880135092 527446762 245503742 744455327 788873924 864594680 417841087 298724071 403528278 963358076 387978512 376398167 844200220 756751375 713442995 491109228 381729837 430351824 695504195 546404548 184487834 358443293 665635051 576395600 852816728 953407696 225552463 913253044 610847447 408036859 986756916 419231862 175890729 117231526 126079427 344185513 659666577 510889910 554822468 618603509 934666178 562974528 512053108 181848649 167804770 263335947 184352546 860188940 720119062 382740813 632681901 832880089 836939650 436095060 464763699 287614314 369101509 581145803 509745001 509664680 185449931 147327726 203919618 102257431 703527152 403862636 935718649 229397660 216550900 617593601 226338439 856591508 569241441 627332778 413401189 411641493 190695536 779725194 247882840 638985051 219730788 646054118 889144964 273185870 608571259 730342104 492627321 461589756 254298930 672058347 756824434 396499666 448990490 559306834 574555321 148451525 939796390 457799932 482692328 371177361 400955773 882163543 367518026 712125100 466762966 946753158 519712323 911644371 817619631 447483746 323337360 536130294 171347328 573631695 772466059 406377111 657963835 466668844 209057544 985324024 172339087 372407088 485275633 883350793 283974670 271937413 925704925 640480285 185599934 594036690 487351984 574035678 240456586 477810837 710482938 777617522 954482190 340348811 735358338 676578651 201362512 800350442 935537867 171842385 120870068 562215222 778137298 460157088 706751384 727733808 855998261 960799049 918448204 552142392 405622619 887979199 118819287 307492426 554926403 116892571 695823008 225387616 298975366 237150373 157690415 136464978 644541397 117409740 651837886 511334631 482192594 412106431 292842694 446497255 641361311 380157812 963588109 787595165 223904405 443629391 872331786 320523077 794128045 378181908 235541598 749433240 589258111 858978195 669518466 657991637 934812245 134553717 957791568 700903176 973551008 361225453 944588657 667291819 490152588 497650343 605567675 114178011 852290571 788628561 332014547 277728164 863462693 968723291 463081220 444617228 286952937 871269186 928593423 291804508 994035789 861740799 662644180 197596479 238672659 612584534 836095635 625435198 400704434 578150056 556784427 192906645 585841068 377535297 528375510 675291869 691694426 594717089 769584678 257579841 503382696 977382416 625127404 767661922 619090164 575707743 485400752 966905566 212630019 292106989 792882961 244604688 151886563 480656989 964103351 587102645 995819632 596429628 304734144 764289953 447424672 695081437 944075441 683834168 577096554 503631392 513880849 406506345 945307893 906867322 732778125 879689829 487157626 163906186 346519507 668487827 176316401 759817444 127311770 608754919 948598710 637383570 987557697 157493303 945296237 770503484 304697566 178510149 741437528 493776884 216688028 560981109 458453586 877047704 993106446 983540121 609283190 644944720 328304804 505496725 666052378 687096824 378310283 539542177 132351468 486137502 846799599 420039641 110771777 728913101 390708204 833410399 924843383 117159798 342400863 997130457 434348095 793657832 295526761 405181668 185562325 209781441 454965091 550666626 979875088 489935930 648124844 325000025 886807372 526709360 127852781 567063401 304958363 179227551 381947043 161625763 728760252 360598167 762051257 774092582 172290548 876145102 183790083 611681755 748665492 634222479 969370751 607005383 926707159 792977894 569569802 147059726 738133445 758251697 396936992 405691232 896751320 513942667 603241889 286676066 108463843 260784809 238193569 509172769 321941697 459629341 392311412 393570755 372821999 606597210 961173091 265731104 502584906 153138747 757495206 367960645 723470722 394689259 611934404 900202333 118172231 414608005 643399265 549306932 173239480 273898307 203677351 236913283 133433118 269531539 470098047 434761551 356587719 305497641 508865908 739147259 775315065 610914287 786574741 390675680 492716594 949153439 109339809 960253908 639398332 661184514 708156273 253222467 410015686 984307819 782586931 200844053 409741332 534490347 820280125 670092296 312444607 522779362 142026187 337491150 713733765 680064013 554166761 716830083 476543383 575003691 321063172 761793958 735512308 564484180 501863032 808850441 199329960 331509056 695937815 536885324 858240119 272472183 179529321 207765773 467326772 569721597 546311096 273289199 639300879 560314042 399179759 571690240 913471629 750881415 362660045 386964590 100298565 526473343 661955246 443615459 986733582 682928518 504532788 403708951 925653215 850164400 851412734 855815780 955922076 804954939 825944323 395346594 771156613 278641754 594067725 824453458 973613103 344600160 837140072 185231168 341230980 780058722 234052151 592704226 903927522 573707585 969828490 726063110 652877234 178451898 691303319 142748568 823685085 121084448 541054438 835401004 784115034 942581512 298616398 838303027 759736292 124245274 978508112 458218194 897082605 727941423 366595426 428174311 329201906 944423663 467606294 773049691 593641641 311992516 870389134 758193529 675745431 171776984 131998180 511186485 813059916 402251351 359441257 171936106 139991512 934133020 915842208 351404590 682688233 975218795 205752409 741548456 832623911 796712278 792093371 728287091 376536415 564439305 882876175 178619652 420090835 258487319 979430115 904083944 681109404 323845091 981619232 964240478 567058602 675108053 737594301 183731525 476445140 772842226 262366144 133162032 323032896 565728078 678383434 141627596 192179869 497962316 472352791 359438678 626614494 104468392 926191801 142438712 981506726 619438154 291953363 848919151 780172771 621101719 463760305 436502537 845366872 516832043 254882926 705929875 941893648 962647630 424295564 560250445 342174309 463162643 812139423 150188431 497601811 800227462 632622625 252059751 652143623 201293947 867632252 177136356 990579445 496537190 320477189 550659567 268929435 648032055 292506489 638931769 885433283 720465944 219273099 180096727 390678699 685915333 355349566 473982498 516136300 838967057 292513129 789434015 265695055 143457941 532317924 102161573 915152917 417000155 136160617 382109593 154335811 931574912 461545090 904257448 666463141 993579767 635184122 109564136 119945017 325104952 493370723 909690277 258814795 339091900 983680677 702270508 379099267 714341989 695691937 443853265 563690272 361609318 190871121 584432965 195852626 536026690 502284978 779779386 420374405 507700658 892339859 771302173 602307941 221374572 906815092 172290276 408651287 512599574 903328492 648954398 655868225 427253794 786319771 643189128 267069065 404141674 498764268 783352224 657980353 190090059 199676945 718207494 617628868 139916825 570019282 670978281 346304176 220795574 773915351 648367524 155563104 991040708 256477120 975659457 309656080 167246835 806745924 610788963 504262517 243750755 850129647 952526782 918156004 823028110 399274541 665560997 126070241 879426126 827887586 616072052 756331874 477898799 967710547 979964380 299139703 575098997 235916385 278992036 169041671 502409022 323316743 656751622 900076151 953325830 369789839 533441472 229345097 668544956 657016796 735830138 866527488 172764789 901039588 540355546 435053690 567950429 934161815 307313549 658508746 973856561 685451563 945703434 422843869 381081061 996237113 217674280 867999826 688153232 529255317 365893553 583543663 905012440 321374619 477448010 151399287 325243586 746224237 517565728 196149339 528460132 644137998 754922735 584550495 442211801 538394928 415850673 171394107 923095382 203445404 591204960 955766677 276082680 901703014 249759111 398186765 732958083 827083169 817343967 382066089 947588882 226418564 221406999 630139924 725346772 225029152 133011767 958462761 884416647 244786589 613691964 417993403 138579576 461157798 366732674 193803214 540976441 170664323 478509551 453779528 592749472 302110713 936671995 365503174 488179854 489696525 849515713 482503373 743501691 591194581 838589884 281876172 622861166 611492896 566807069 729010071 552767348 541961613 680795597 280201096 565895471 389698953 395150091 753272369 794995806 967435705 471374763 652252425 769825672 521674366 235197023 771156753 496071780 343846492 434885591 554632889 173007509 719065469 898572640 656556344 145447277 783969563 751031544 831210673 548149829 199356535 707820104 454504763 593998919 133937581 824925978 286671895 313181733 821773877 953729716 625876212 939903397 813311716 826322907 961252888 415337627 476594827 569082586 184828890 860185589 475192432 174135503 888425324 984066256 991147955 823469837 113165482 427417273 831504378 186007481 667468738 705263076 937163867 559060752 897974478 448586356 911340194 328226433 923097214 557322197 258903852 340105348 934984489 269167372 655211944 454046975 295931806 572453214 494426738 166090624 160850704 655784405 782727225 352492529 776428948 648534129 894528359 656814828 336469513 592754563 251554456 454040370 988072924 647503961 709956791 686041946 336331763 152300625 748480124 177275293 315189339 291571158 863736711 824095949 426375756 338618946 958662503 457212461 902021228 551355737 213277074 696934889 681242948 183289512 273090258 867138465 686826932 530773285 251070099 671665220 364008536 561247147 462419449 508519752 789953684 912044343 272794579 366464532 509152415 421146052 572369891 453241564 527433224 717533546 919989435 690898821 707604366 900717096 788957822 722010865 333652886 530667647 422934560 844394453 995315993 130488190 597169166 778181147 751273874 978612755 694719347 120514170 314456149 897415906 961380155 316248757 658232420 753407791 104037294 425293194 896200082 864919442 654350200 504353080 877651965 883395852 304053197 246715595 686735950 868204946 972710310 860900581 517616681 443373609 908127837 427233877 548736805 281199786 771685242 371618303 339339256 477515953 384210194 389077491 718258470 716446246 129277100 135121894 243788937 338090401 229688414 259891897 803866625 933595021 967088602 349206821 191082243 853331414 582263734 599815944 743809229 396891450 583513389 121795722 767095037 862968014 371877243 600691606 493765174 397351242 650576726 403049195 988535153 248814544 615994264 469305521 379115316 361699885 746554110 171851838 508828819 646644886 467815396 437969489 401886672 117265343 776233264 631860750 987398581 705020778 230078948 753443112 516767230 819460926 232484851 954767985 337058518 868044655 152763715 952482073 877233304 808615397 928831067 102801494 429158832 825209341 880338901 120580623 955018373 354460975 725754949 559297818 594036066 639961866 823799112 248327586 755620737 346406123 781487787 566231515 508799512 940565847 883328679 577538455 798908371 831762912 871028877 834432241 344934267 772635555 749483126 414175235 158946091 721274079 981671105 793376319 596467822 429976396 659131218 365614409 380950607 319119949 494239289 294787800 831566533 503616488 721934480 484334788 776665340 300779486 955183368 204705031 713267106 260703423 348429946 879138453 665528236 628523066 307368648 846474468 451990877 770320406 398579747 219968875 896529371 910888266 857496195 597606965 181888610 197834346 493244259 141929214 809213869 344187623 782864870 194938362 969184380 572685487 484855544 994424652 176092691 129003919 622889045 500386825 258084992 804812545 110997370 873373004 893879173 816797416 953876522 111517238 230126940 113689920 736507746 766538486 581682838 600615516 201244028 361962376 977765651 875483897 848143954 948908139 943019449 546161321 648615741 853004646 798381069 587738608 859654499 387602101 253044290 626911869 364754064 992013290 689168241 267390551 367014984 684884428 555686186 478426190 164086876 209254293 515337861 365488838 113518819 717131377 302519770 140683373 464708072 425170441 942088798 134311101 656064295 111719624 657034250 424403197 294351022 431683703 486997845 580497068 639569290 640126928 534773835 359397877 243413344 254557234 553674578 722136566 218626702 249371409 654482845 481908683 883955925 950786390 484220412 287795291 219669006 247842971 927115185 792842569 940790534 652689947 109592734 397292951 575433892 499274309 484052942 451749299 604907254 562350139 431405207 634830257 930813206 821599923 107880178 684519455 450696278 346909323 668477193 147766745 721608830 814281762 275964146 572398307 398590582 902783302 694619626 640359542 134284687 842848045 981769408 855683183 499809072 365897931 752177947 804405430 317925595 554023707 763085365 926256543 437853467 957541403 995737486 162376211 742065371 874105147 386268303 592821030 878548393 878784305 990413943 814867951 850138550 481066940 895852409 201806934 497403837 989988494 707499782 242341624 806702447 333643463 722113132 360256335 542678035 354429947 155884246 606201492 277237901 260316209 594629869 985872249 264598803 487407564 570629551 917418211 788530151 361181418 491229456 627505171 830062290 620042145 796826427 191931566 491561663 901945157 420910949 125357188 844904111 543818426 847749563 413289428 821182599 226099696 232327547 958958832 629904274 189066738 492202887 604083012 857347134 785463745 943394287 631464764 285961735 277824724 745402164 161614109 319034288 450794737 385276236 459434396 642350414 822604652 362421296 726825055 650696512 884648746 201493283 447987466 226822850 402589038 214408240 540258448 805190278 800921783 478396752 833974783 197161733 571681141 288814828 204620673 975299582 307387214 821110497 765553478 215540204 943407133 124536159 894796788 482856497 345004654 414616082 926330162 413876679 967006417 138229929 363617431 308170196 341415724 366698371 268576292 905079530 177114543 470940843 242052058 697063484 786444110 941830613 460170980 966811456 162873487 187384108 276924882 466578332 859513302 248167998 984317467 606072486 757425201 535158816 592162254 733562418 750870435 867423668 777506358 534640136 652912630 387759186 531461211 274700191 209661001 547057295 398429280 534816057 475371215 709721078 178226943 899561117 896698031 503562322 121325748 747651811 325306411 621230180 203135514 589097960 565830302 108887251 757036070 185611600 259105696 269884143 647890027 594309679 667478072 181811663 471604071 118988195 884030338 350880387 707161153 683179619 410307134 349223936 438077423 641393973 417320206 583017057 569142063 717362199 760015330 373364780 695433341 162262864 352542806 719241388 913661140 611095557 803637577 119388518 272731096 699333699 596484851 708194821 989069057 343453380 502212885 828540445 882166480 892362657 203992686 372991133 908263192 201871472 367629805 908409017 246916870 900675369 598729940 728315611 853012980 494313228 427625814 450164001 582999062 384363250 433237698 587853778 312477796 150803271 250944990 976629937 775039257 308105827 892244324 976381462 794082505 132555926 386081429 713130418 426772424 288058242 553728960 363799520 430110234 200881455 851387384 523258003 459165816 186550062 786594327 161701381 579594721 397047506 436763518 181624315 595475015 776668844 478873139 121898641 745695816 806978690 176763589 658850292 639876349 821808292 942749833 785602065 615872849 696429818 440383241 376047535 207912316 772373557 125201465 507180846 832695828 976620180 356233190 888880536 348820970 239571712 794223127 327618438 971542579 796423801 663455600 955483754 514100876 112702621 910835433 604810801 959432531 900855571 725734858 600596368 371151085 780049777 319941807 897203392 965447100 558327552 485797480 437078144 214957328 388243403 985824794 772289767 455211440 878363732 434605357 118486946 230166922 316818051 755326780 346129266 800996000 137948905 939508441 547172468 385750030 647227267 432241847 661361844 874936336 871095863 468087660 872209153 140822631 559123607 282340790 186392855 671573425 355908262 829212940 893136821 892199688 657504383 105038322 704766065 685900636 898966813 853353240 954806955 235076219 838816772 545226870 830479286 629229159 688391608 741351234 632803484 352677167 313617727 377133851 932255971 720148162 631187969 928081979 429238754 212155663 954302259 321605732 435477955 526679727 315405644 701154211 250674439 358575016 751691605 987687823 286317162 873475014 128964533 874576678 300965870 134852124 883220238 979378259 178170311 929831270 431718196 691098227 771293847 859255553 418731118 458620189 666398666 890076810 104311030 102943881 872248667 147203971 982487149 507188961 593231689 838763035 110545366 220103172 611841197 836643520 927255061 743237311 767011281 238055775 732913660 482782386 369886776 827666168 865058974 629519419 819547057 985995157 770761447 586479708 345273426 469281525 800743851 501769430 348995607 643857692 102488045 319604151 405847210 681218328 180050158 765845244 695296384 838605807 900658305 884935558 853014789 644394263 280432476 634975022 764395393 995409591 309352838 619702607 853948494 697908061 612563736 643904789 483258155 546692956 900325643 538757228 601741848 520007003 758524266 169720842 821739400 501559694 535837714 305207522 431065730 658846442 656259406 240281817 958428672 521969305 781810730 984232038 168700908 428810174 913110835 758187611 574454991 596507039 548116079 302865980 531748417 785448640 362966017 297580998 380143677 799582241 838647550 120884061 952266729 166985197 297026653 130603358 406602007 193571847 524301495 610102250 804838931 271311017 284087211 189524521 464471797 752880255 854487055 898053978 169089201 849984589 653573334 694049429 380071221 854512985 337965042 641011598 760645829 616318047 423149930 702903211 716745060 268967923 786605869 622796744 858585584 190807897 175314828 882543375 723743298 486503378 601037021 319436745 600086483 158483815 240915423 803476006 710409281 601994068 547079302 533144301 592931775 288696987 650278969 129582925 926302797 582066824 139072698 661245389 964120131 821569531 492240280 785800613 256307264 689157266 158733318 227915058 280897591 931060038 493420376 960119152 395898872 618198490 521866955 518034829 302522658 671676146 305102330 535379473 155484250 108417277 501045657 325905796 469421305 165032260 252697217 701133109 519503949 865468604 882070110 796114656 405286393 527247068 969926504 422658863 554797222 839230139 669213646 778903254 716170264 896986629 422513582 664750726 841851296 244969804 820623518 368243303 957119709 128417698 220748459 129573655 971325164 761086946 171990914 407870298 850474151 830032603 576371274 162000002 415049447 232604410 284721394 868125104 648363808 997309638 440645807 931656275 858337518 309781932 707838690 437492507 991376193 965769470 230920283 159187535 142512487 942110414 306531073 305829184 638551400 447705809 820252759 280744120 195200913 928019161 490288228 219845477 138105725 494831083 593091919 432847181 940889851 196963666 601369654 886952855 811234680 296434450 719935212 114329564 722547315 268715790 594606583 719220177 364991369 952483514 540282069 687007187 187798518 291837884 540507214 579843799 218236121 530396729 596766134 886392897 104583859 716355054 305275228 376280952 392276309 271904391 554873350 435684654 794139395 742564007 640814498 627304754 332671818 482963533 113379087 686068651 567713517 570624877 981668082 163345107 955111489 155668816 129064610 592338680 931920352 850057252 101146538 901224787 793271563 967290495 738813891 388336627 494088579 693123268 234607808 942185269 176495892 906484604 483301338 733386257 380555093 158629394 543199708 276529524 384663295 219755856 483917755 294797045 409399670 184977962 382312330 827674612 683212792 271478207 447630466 228846873 988307538 661469415 199005215 533436172 600019383 411834460 248869382 489121511 461203384 295685128 989428467 883496955 696315130 713604942 490854027 662469979 645627348 871111418 908405071 783484381 334956524 191571230 389461630 180936665 770977774 328010211 595044879 319321179 784415724 475303926 914436512 399237136 880215645 695312152 983295323 674021139 925940918 425715324 130681220 750083812 180574045 358632874 316032356 825871514 323596794 960664360 222954858 562200536 422545080 665722604 494267431 806772930 328361043 299621743 158363885 178612425 794455743 275361748 428643808 150747681 182644588 436651530 848859900 182513918 629891009 203861536 225147426 111914502 829040279 770967265 998130900 851202444 774188290 543262606 293871241 196466959 217907755 111407357 337030857 859697639 149767607 553860952 552283434 762985038 687276075 828179681 413837825 709742936 672790656 942438805 233648135 907753895 854771106 879532628 997663795 196271265 623450572 383031724 867321120 752011668 795443326 520783894 950216410 288333753 499277752 199773537 866328396 966430127 943102698 799625717 236778325 147885748 182935087 318628081 439825630 197343760 510092278 956604776 597478441 395759406 126590325 123418382 670053292 399762764 823249871 198818681 892637482 428634694 871052934 543596811 754385990 722081954 649878427 839837467 361258918 404447246 304507415 158712832 829106040 670650015 773169079 417706461 735019937 267049540 212789788 477622426 228303992 799371272 633314379 710405107 112707556 761312873 578689063 311144835 424427639 585444915 412851521 857863561 139078621 252125977 770575626 261375798 138240842 758600410 150108401 167272266 417902904 960871102 361270580 461399221 137316594 224254824 709636575 697267652 849565496 995226757 563944643 646710530 839819335 856159477 917941278 702357537 648644786 663468908 388209897 735730274 136897385 811836429 892522220 463769943 533897921 913719335 542173741 103886308 253239654 337300159 840804300 632701670 138416030 275461965 429262113 375805143 849678799 429545372 199388817 310149457 791581974 873201317 984509619 838597582 809581556 587341054 239883570 342481212 225132067 854327455 472812399 723188282 800886782 176018042 574379339 487897220 719554036 192897530 569548172 386665328 871733107 257801656 278245658 335271889 772459464 770266310 299318735 189750550 266254119 415377476 706706399 705235466 985237405 358043196 627384459 345903827 781475660 803841662 502332928 841551359 570484516 655960804 672224921 117833136 895485146 656822536 474975543 193455843 103782260 472303462 656536433 588754437 321833889 259892626 148516429 382167552 449480931 974012376 770260248 265566822 768336387 460019221 313702289 240465731 309053031 598877509 817852867 912193871 157660073 215309760 107950140 324204134 973825861 872634285 857295657 374563092 459951457 592060945 888305210 350156785 387163327 185004603 771512255 363277277 714241884 612364308 983242884 225036093 772626608 469744101 361882967 587547300 545773385 864182916 486129577 593291986 853153849 852817748 851874728 675617147 562411881 840398462 909217976 641313278 652047647 842858893 123371727 582838985 791301315 249765387 828040741 484314411 968435576 977734208 564440964 754027857 610408617 548319164 467796176 242684648 457894484 303925162 201140132 797583432 800801808 438303993 806390824 270182170 947523473 583243382 993150310 684405875 892074544 442534864 628301283 408330568 353297485 644301074 546645474 442666844 730356847 834408968 996331995 202835120 858212812 424029849 887218604 499912236 960253579 502056017 325586821 641826590 707466521 661614127 149407743 328342903 176095074 660025959 340448869 591939528 418805793 628061035 898953716 218106500 851361915 183218100 557799001 654470826 717702985 829911505 337998107 599467632 709732812 208647243 305086048 457215791 784224417 986371563 618137706 229028314 149748955 736213700 796797233 387073649 946107503 105737316 497627321 348145478 644702725 448659345 156563783 901627752 666231905 477402357 712890611 900323136 285929628 260066858 439893696 733134310 590199187 507222442 420679391 887862751 770154823 792504569 199023352 206691021 239159108 315325331 171335269 106123710 404133219 874826042 751392553 529223681 536859206 830231769 513353178 221682357 523726341 506842305 951116279 227758389 455651568 386076513 389628606 665692271 127918815 777593236 996573591 184709947 138989981 300088937 581396779 143658437 645630635 866087796 702946760 181882170 513069431 469418694 145695839 376697850 268069793 411437753 320557966 997646143 160355946 333443991 962583247 997154538 516586872 759321717 658382312 571358920 969470878 342028366 680621424 597063527 756068717 129441580 683967961 463952587 855555604 543533201 977088279 441872322 458058142 847161881 513775710 941709341 235733924 619765843 281594716 679158835 515095911 382493139 757758423 406815004 464644642 417293535 764593577 637898983 439520502 901924672 494209139 356340228 528601777 214369323 968178468 354867719 991659548 393599647 474098805 797825581 982076399 751998432 608896942 814853601 367893935 920507027 801695148 392472266 111062465 452467416 195805978 712986003 162982809 630085544 845361806 354974119 734883832 642541766 269954687 820794962 354883618 644646060 314260269 691329075 256394790 429622747 924446056 763521633 911706713 523500304 411593931 241971224 631221759 834772906 311091091 295791195 157171356 515943188 353719355 288155318 365971039 741038497 948759997 406695489 587867898 727674004 881311092 202330617 477566978 659354250 428984288 764758871 739534363 364926531 933631044 932101848 231134191 158913401 428754841 301637480 900335524 799041376 300820730 169852654 355736912 326260320 682399449 424390825 880518461 501632520 703557226 871640081 975170562 965907381 227123521 461942308 666779344 975406631 417523165 630561673 296456754 963295753 562730070 160172542 159225003 306072442 691705693 399225707 771304125 775185097 912328651 532242158 476347313 477076272 903686659 723088516 172161503 454485500 197816717 998170389 590438588 413633532 997684612 435474916 492565837 839548343 212160261 660267681 804488686 894815285 726779542 436178081 883841900 154985817 412017828 221815386 869934247 306949666 165160809 204814492 298598087 538910239 956227300 834450935 233703002 864842871 436112197 545163005 433547733 482255876 472512648 958732439 618175175 286056517 189432254 157605939 535333819 482165929 756175198 998715094 658282264 775291768 206999286 265172255 542115293 328667697 265894391 624051636 170549389 650802689 488631100 112809221 392539901 283502870 183727491 690670514 644651909 422782076 454940189 105394433 350047588 690737883 307287188 418622253 767593519 553453309 944316226 656387648 826213711 711948165 427989809 546877282 955851486 400979606 865605548 569573453 889779532 824076706 331532812 347626712 867345648 896051483 237544034 714581178 518990471 290236573 322210950 674081418 875079205 847305885 609840658 958634542 449187882 915613169 823485857 418983442 758438946 344918026 784901838 795291910 374830711 946740112 636260159 184889971 754566985 866228259 167989790 570390668 147069802 136342543 915380066 585761287 725942076 214318949 687467875 136884480 759156320 230264489 421911419 864135942 479470663 981303684 738384200 580028710 964736699 894600299 734820990 380377015 218317214 447417715 653395243 297208035 234358007 560924845 208324346 966714126 314423907 740845214 596265893 564567001 613941922 691541296 373757130 867264005 917551427 109959821 835728098 966683188 242402823 911197702 379819318 610401512 675549554 685741828 924880872 396098414 900054929 980725621 955821527 764366624 129782832 962563795 781044140 589862334 656851249 738671291 309214116 587500216 423567007 623955137 339996896 433665820 971995885 544531489 333065801 172763019 430979163 496071585 560782857 136218513 292738554 145114524 525854804 677905505 868711411 516044044 481558012 578037211 351842268 409626400 519497019 613823318 773095442 982008964 966553735 782511529 977828603 535121670 198846955 845390574 992192494 398360823 199140420 818628031 756704958 536653443 634629828 620965737 145660886 962870562 412817426 850967284 113856960 693559494 144494237 588470080 187125491 587832575 406573407 395202214 127368650 269805493 238869015 631986605 159035736 837284582 394334638 726111047 133621751 576036784 277725765 874757762 638537694 394118359 422447469 772649550 968202098 267675552 822327787 355043501 611464247 808336401 669988311 943687178 119796355 820105133 368630974 793221390 447256939 551407227 717521052 594891349 805826890 219158514 419951765 778201054 402961160 497229769 540460052 283396331 503316594 872586016 745333520 852951902 635864498 820012727 189451288 879753053 459432886 939875415 813800328 432022688 862813761 550025805 117050915 289178409 959517027 596192335 723333520 858492565 473044388 315645448 695548740 524436019 431503639 126512148 460513416 913228296 864655391 648850761 150579933 425482654 660983802 796932136 884991543 583561367 953880883 154674193 855899737 558818258 432946895 485417964 477990191 618032250 227209076 920416001 690712516 156804451 933189336 164483784 477443802 979043482 957215147 707311194 349409486 953994545 508881094 201769544 193280401 415940190 448373302 825771992 599381251 230662778 779636043 703157078 434597773 769411041 339473415 842376061 620950780 932929656 446149597 937600993 347813684 395170616 330387443 589609606 600522444 780685568 159033349 142426143 426493927 774378565 456402324 699261481 968918299 425432392 598939297 605251531 539753660 447182267 848826224 849183174 234753086 770492459 916032478 680060886 160693389 643118241 428237294 841511704 394359722 388838648 651109913 563193935 920209219 377709801 347104495 877677591 778908367 892814934 810940331 812767868 788118929 983415113 609820654 551525775 931266113 118032305 999409627 232098732 445625796 697965196 789631841 119814238 439624566 609413836 383613999 356163640 493523228 734332038 765542592 842900830 424516094 891256256 717188445 315553407 117655972 659573373 526078155 460364657 324098667 637820317 363978977 856115092 471355300 846429209 475471027 186009484 129240973 626944047 824177110 378596601 299395772 403627879 182496222 387598770 370271542 771436329 598525966 493591798 783626591 316113537 370392226 889173345 943499202 194266359 625999535 752966931 287773534 575208204 919436023 956994883 257569117 723179172 804852516 849613500 692633473 960188607 619346289 446601111 119427651 338932516 137314314 956424388 198708558 143181738 621472409 197528841 157313119 506010970 361515788 547336846 547411975 743082011 675892804 143851583 175433068 988192345 500928943 327823154 568393376 553996497 238304425 933799430 856450949 903712017 751515167 776718349 298956238 636314490 854013456 674601981 876418090 898761219 893325057 526029400 394205420 719447402 634355212 243771425 678144229 866400736 977966392 511092751 869867992 960288027 608936957 871575573 926387471 395086495 549014298 673933603 855338229 241968939 257020207 739216901 693601200 428666166 577524805 923022335 345109463 210194769 922714746 377795748 435152592 947433233 910813222 341897954 676820135 570365769 507584948 904731587 234248518 944111442 504492785 434628924 957448985 130468439 124915240 319628363 679635605 450099362 231173339 724796088 121373450 449282662 284266791 831558867 968808242 877461420 482812239 715595127 742829777 802100348 887972111 173681017 669567579 387748955 409495633 938257569 313043760 403768260 153942925 674660373 946937730 702317092 884145712 790207391 223409637 443645754 947863032 757450734 704959726 734198968 760269887 879959894 194877542 697447333 847881370 671670873 788020719 524150114 723892304 121089421 100031806 931580024 920371574 498076287 758997249 984940423 745188594 160352855 845839070 849398440 535077492 500996191 397811613 461443595 972428489 672479957 321662822 615389418 479936826 450756129 292967925 622966240 903539187 443070620 901202546 559115387 312111072 159560315 744153933 720458034 355163118 337785249 542434640 924597372 967763156 726642347 672203446 571387660 857711893 762590821 819014191 507677331 462571748 463744264 386890663 265168041 526757380 285485099 702644191 685524044 250146658 529761714 264050365 257297696 646904823 613470975 818558699 359564847 788409423 593308385 863368012 498227949 855187543 994521760 571018539 475697192 519607910 981209027 858591469 168209559 281338552 902210105 695989676 509412767 440251031 954981030 890175006 409816899 135232966 826998113 224760993 783816770 138104792 262953913 841101002 745703940 242770494 466785475 714270066 102494493 532911074 348337297 485148060 219509753 933966027 179871837 653804548 475622635 997888070 341160119 359404323 375608339 755568509 870377053 934948119 692105940 759392197 351299526 904158909 694818282 906449911 708478771 574479323 524855328 186004661 337663077 132861374 579580486 648724497 521008303 747577588 910665288 798692490 724677431 621302776 176725807 840988593 608976283 832535222 930842289 943208935 328426734 874878063 133995860 869327423 157560065 984715880 860486469 475156996 660363031 539067521 614493488 138978886 245701368 717031036 497319555 943648084 869506873 353139271 299828407 469572556 259350516 623747355 262209854 852274450 204202361 243454985 253552730 397599172 431761870 830754931 155965780 394817880 674403568 644414061 458152560 996455014 546220730 884726838 683299188 849096584 677426587 677366444 572930913 952640580 525476659 505609846 530242606 215303760 930637009 239076706 787311020 988255078 298982936 195671102 612622969 614614759 102479814 124187623 449147223 538896138 264097666 845741856 933505102 959607267 641274288 301390735 952610500 317118008 699871815 629505313 399959325 974808918 494760323 294440208 592777073 383600048 767288200 134356441 482631858 914073680 496789274 930034854 589240287 469098221 536391877 212215537 793087559 834173102 211257976 234250283 583219165 939861376 724729451 114325770 722214057 243008913 919572942 550958149 488451653 563713292 288342334 101203751 311957168 265011414 215432140 701654314 201394166 614438164 563271361 311976218 262811732 319166429 412760077 463353505 647140659 489180036 944838385 317821987 265039128 426423853 274476417 850754426 479923715 960292672 350889013 545907438 549800360 656679292 661952448 683762332 689220935 443860249 396517490 267036410 675939650 540766828 733737334 632530982 336996070 497164035 997963977 132100713 636695534 646187455 956832800 933930896 545367163 536099933 512680405 542741406 773125326 364674087 812001970 650450288 924508678 841562260 126365710 992206032 901483649 165694685 771783653 191346525 340675258 546768480 306310205 435401207 470256247 764676007 419511257 558269969 803783922 687216091 114274625 344627144 796352292 735434348 481118222 105807523 671643181 666886053 383471379 395323133 923454010 107232775 182919215 878862984 601840164 425559939 982367042 197654847 862308436 436946941 590803711 807416737 527095706 165404415 349869722 321215786 271839367 866158460 693077351 301842378 616065599 330697159 416932600 703194495 861245043 414399879 439549362 612456535 961648896 182502546 201315972 498270506 255481090 555278028 149976922 257464978 489481480 557587399 315075898 985072580 911183722 370037943 488917711 147303457 893741363 470384586 781138317 564432722 821547693 443246305 185221985 307391366 233609861 534529726 557860787 304325951 277065974 623673930 323915426 673050851 133669288 396849800 431940894 574793842 290466612 578025439 528883471 302036207 327662222 582515474 852484730 766900431 469331724 639118136 142131033 918482581 238970175 737901182 175978289 825921245 961089673 857596525 999699382 993107731 745301270 140494247 622149823 957413500 224761946 113949254 113190038 499687621 568760951 960118901 480886241 414336071 589788998 448186303 670229102 852345072 811908281 406967904 288952285 576993489 308699379 437299730 782017245 401224007 627468760 471287385 604831753 450650072 591854257 110395131 442184488 703908471 720418180 486798894 639043414 467674851 633265195 733939935 243691085 619890620 538089182 341687426 309992496 454419246 382821396 262075818 509507578 453278747 594409734 784964289 361753794 197404854 665527513 627457570 291126272 910686838 405258616 369653490 298821212 665847335 424177996 537718827 115351831 198061431 687981185 956228084 814032597 985935141 508300287 668474537 112288842 765982056 642384236 748091806 963279605 982048026 813279157 841699077 609979320 734923324 198405711 223541484 969713851 814138004 403395907 761406749 301299478 802282624 188111792 161895335 389359099 486445926 742787880 987542239 959096367 518891642 718676252 463225167 200682452 413338701 187000514 493840627 722128512 825126191 808256441 561354963 497429033 851610868 644210824 920832862 160265631 848327676 988907146 761462494 758342122 951718146 454333692 751283196 586700158 116771081 340879245 299668243 917364028 372909691 134735041 786105879 552546401 174372394 135225143 901691564 881573553 928999085 614386912 139938407 419165948 875198093 873395719 619728866 860367620 535507537 191525675 388897832 411076071 964234538 264949942 484077559 931809502 944868429 844257775 456147355 259850419 162361156 992272608 698805847 268563846 590181853 376969276 557562735 103508460 657301936 808580958 402222597 481216075 712563472 483989590 623493550 498354757 537903738 307324016 790148064 881039070 239295783 625154567 699925679 210786149 514980152 932318591 365601528 974936795 283872955 498405375 927375506 240224364 505926833 558007024 178037298 238143761 751992459 634381279 813930384 356715482 733058611 538928019 626403561 947717477 336983135 941491146 450544553 147215587 887960687 669053596 502852134 885217614 934942528 567276453 940868610 249098765 222318530 670186894 272008173 983023518 518450090 898592719 283296665 484410875 507436150 427664861 448078156 284278857 430483292 124114970 179044056 860386331 955471072 414647608 959723415 848320292 165842249 753266056 367508226 788355251 298430971 285200110 910220991 169355655 346877353 469840212 819233120 183759050 942075614 169715683 367629701 389595524 534137448 752171439 964998728 314373059 345669730 427750815 917773659 104372161 490898801 774550622 114940271 222146051 183289780 426967421 979504744 675130290 445025284 897204158 977939446 483976904 982475702 138286040 931534809 419151948 180937219 331020641 757378745 390351578 999284437 299967318 616471684 588546070 810421936 978003615 833473881 721244933 531693234 542304677 252167636 370035728 749259897 927501174 236093881 722880614 334040691 477075688 214445226 911461586 797291297 852206600 890564773 953961862 322764101 121170128 851721605 270956139 904661012 232029721 637889303 489087264 568140312 538716176 305113251 934719045 541316050 125817317 879681481 494416596 751674872 860032593 673263675 366098884 667519453 430944415 371479559 240460064 477988235 867885279 309515737 615155776 327138094 854883424 412358579 682657968 237288591 111078411 249816472 440851254 253725734 193906342 685051726 352714890 133878922 602685293 268459334 361743565 507383490 368694264 689119528 326433980 768668420 716253223 690175963 825561884 467421623 754039241 793557574 362867037 257486281 418458725 836654628 490785481 702179761 659579505 515604426 924994631 145205348 952650515 439971685 292194018 833197620 715430635 499812476 309247530 866496245 400865380 519574924 573000676 859185133 702743417 229855348 729740412 782152874 193532063 674278027 291489507 989602648 645355103 860930673 332023307 855428167 327155464 973561397 701967180 882448127 293170767 625112753 178768468 304354492 261817538 630139619 673659694 704563721 114089327 309857565 798344427 390037030 185331187 993289955 304402926 971452004 594222196 583669980 158575846 582520238 751561340 241681510 656648022 198210489 748991333 231029171 561978444 523460523 774788882 231866774 564521308 636273025 297237484 614375449 243463116 434838121 322843413 637515043 511219710 862922546 829864197 122322130 895370807 340390877 699455750 903574796 700989176 497438064 178007525 202368072 845123038 880346871 523587340 235795303 928852100 465895412 925299442 971047060 104491213 308170788 348991791 248746339 296391736 166452408 239844309 525357475 551447477 682906608 874350143 375512937 196486152 596573912 245240856 298407245 222036490 945848689 490366444 479357904 144824605 645978536 437290984 673048165 967526869 984188077 498618249 766366678 123306545 477703380 752630546 819374789 908582973 993672921 364472448 705751411 364685767 637400585 494521927 444071706 289188879 576356898 739309924 653663763 328389740 251766478 223123104 641291032 262668485 343811350 669979167 562611881 436655675 381209127 814869779 816198790 737991628 541017944 337156595 586980273 630707735 993558125 967362782 960580182 471846667 108013477 956358055 577783310 303396512 470296354 397413519 649086908 235063431 134439421 683152333 669696049 850748339 577915709 474513772 131963700 364057936 491891841 685191874 267433309 466072648 508864048 778093173 724280673 405303071 958691572 325965342 960088503 920000163 564597637 316524198 444578697 333749290 598708102 577143964 866296152 297672698 531072643 677032397 258009396 447241579 349345152 576707217 465617186 942315798 216411883 120489549 906347003 149355042 702576043 522733234 261828124 303579365 647001540 886338983 512150777 240548011 479657635 661226403 165909342 301095764 379732391 348596155 784023371 918355362 771721535 171907199 725762584 925978352 128319157 695484618 687258983 695640024 708456128 401607106 739101118 907908390 450521367 864088822 589926725 560555359 983318547 462257194 658988556 676991042 889793375 575364605 526174491 740085273 349917563 883902132 817855896 916362494 962954066 105195325 156098757 359826485 957288081 779462641 634106389 550121554 288452080 179429174 605484709 638217335 756427906 960525333 351619736 861841552 809642147 869762297 201238237 167810894 525460194 716492650 751783267 816208810 357293827 894936663 577173851 518953013 310213907 693915813 550477614 747911791 368840441 124697023 587090946 402882315 983771188 551767856 870321038 886130473 412906168 526797881 494543346 427734893 401992558 560446759 826212345 763624470 556811747 269386743 338450089 564521694 143220815 807223364 645121693 588153284 381737686 739678966 724026793 884845985 428557995 435114009 501140800 313016798 826261574 402617896 768930216 490316629 188850348 382620518 755809107 807478886 580845670 808662379 757171858 146166818 643986444 563239629 347829822 615391878 198821201 844370642 867302547 727899243 880369921 294546496 749733618 692691920 518150630 237478139 812374314 115599008 811199742 939715358 861637803 388776150 242470206 459838733 502296830 657699354 630987318 723133592 750651766 911655740 247066988 498839376 383348012 848690723 965710101 860440267 968514490 831625045 474072368 935597561 382178236 207822780 245012454 253678246 897855999 350277353 855084545 333834650 707066915 736994381 756012369 425616530 397751508 347067621 104168591 910397553 794135926 235918709 853317797 872548765 241068296 648626275 537299208 649014717 357236608 177141075 603595368 779157289 538766244 604485962 196019500 373203872 292461298 876511560 788718263 709971323 898707093 430071853 720544590 616699947 345243653 951497653 948812979 500606795 321821093 956426059 924991921 848363349 635266032 169190041 391986292 234699535 633684731 727313851 262030606 750124263 411583314 793961974 745118091 924381862 913448658 430898980 383289085 574079031 488191846 968633468 603701203 556431149 389751642 495323149 293927076 576767017 958264273 566741527 604304175 978602249 925924741 536302139 911318754 490770405 235123769 354827779 118382439 236365875 248098141 942858516 742454323 959805901 144976218 183638868 894289269 947662104 425794471 401845981 671722605 792223013 979229374 258042185 499670410 188383936 729404820 802018863 401055392 737789124 839958447 306885317 202306909 431155608 465613878 443016453 841530090 137749109 435427057 344908955 852857979 102765082 183604048 408711268 945151945 838966284 628667099 876513856 999836068 786658824 674006579 205110192 142595014 558885945 131060374 940525166 295150985 721342283 256084631 562114971 658691815 300946511 434808842 889946034 341943489 293275628 114052456 676445689 605453697 726728240 833651839 404319267 524438877 227059258 241607560 797089394 182526229 664162144 100248817 619671748 576124822 221476312 835874592 164549048 457066529 228995906 403512852 440010808 569897945 458247189 636724552 817752940 723453327 458066167 280587929 423610820 594071619 448586461 298079124 143845027 491033578 458439886 237782681 866673326 848864462 846195561 641197972 346256579 736216709 597816600 383895836 610793353 881319741 793261522 780189967 847843285 528215582 515162783 897831912 438234835 752386761 665071134 925000207 450231450 377410834 901585289 421776649 325207397 553189223 827836173 786472398 478501111 923325403 931717139 134357645 163267533 863862225 505031568 243838098 986983196 701723735 313420409 341878584 985342231 288705047 238026340 683363424 217037767 896677500 808116798 257033965 847198403 642757287 185355317 140487147 485622341 732813664 430360657 968501907 465986856 955365748 245208913 581821526 321407073 588395787 333920641 359941029 306918391 376641304 204634312 144977881 360717553 762976889 383224084 214585406 914740117 402450333 319618664 143118261 471968447 200200283 198646096 965687090 293091207 734807030 938321258 724609344 560726155 283186052 145260208 710681469 524421696 897949888 182461543 504862021 437637321 873520287 222932021 465615431 182931896 728537825 229974117 395989214 682100864 886183048 713853955 791763498 938920116 797910728 370955061 428435378 596496711 821464714 767112793 876631335 819017911 729595895 324445681 332140566 404627600 424729166 559278884 930841358 477783855 804419287 434198157 767041411 684825797 237901578 131952337 852399807 285269793 670847886 514901151 153893856 350903241 431247773 323966312 292076290 229201106 200162427 382701041 754886280 534887103 303760237 714253418 186321773 925483599 872986467 672419311 418174856 233744280 790740071 844283011 941146101 435661311 352252315 791180978 838930915 639157279 401015840 650769273 497857542 930781150 779450596 575221376 400266399 737047174 608770402 784868741 924306406 562726624 604997764 851914115 254359532 936938612 181329263 688301602 518909455 641721393 325434284 849028228 990092477 565956095 807139643 898109968 835374725 683065751 413717300 290288192 177047933 729819252 628778458 369614693 336736833 388756510 266318915 342750613 475038331 739040462 565476164 719507653 364956810 713257324 289935175 840178408 517443002 576525421 504005400 782039470 228748849 275517096 850680931 600631060 689148266 788489578 476869228 868804051 806546404 219807616 375203409 833125869 543043697 112288429 141295008 437645985 108956781 729662203 834476415 911110934 455067276 545360674 535075494 785352144 912420217 711614802 856170837 784918416 825920494 368111335 579901358 461921170 822839109 379055206 439047369 711510698 671431287 622446436 475752285 153114942 138055060 478789624 678037311 478525650 571613152 543393694 454835657 206354720 346483032 864033674 699501479 708943327 246853663 401428978 693427846 837703676 494149746 843507620 158616397 479288473 329279887 359301259 667949577 841063792 957096248 537148494 962001141 551586750 803448242 358113960 115557647 627767143 262382407 620015372 162251370 218993644 816847006 212439596 770181534 405523797 620864986 888455274 511255955 878278031 947356811 774824747 322919732 866836660 385849271 306045485 152057594 176552440 139603134 738016441 138343283 590895085 792543469 744728826 401684968 437422286 172553137 809078743 463500183 445580754 216177855 606620345 129055674 527088012 104217760 690656852 917353650 738964054 793679915 186846955 683077090 221381095 366082125 827740985 813848137 711707284 526808149 544723879 210400339 977660907 944129075 524319720 701553261 528516273 906332063 600458853 176390767 115614144 859645347 244782568 366943748 155849761 153228296 840766202 729174366 346140259 851696154 455713749 612937298 842995594 248622644 960996531 664658991 797354191 220399912 218630461 848103666 805258156 849605866 140583375 778588277 172483852 832340541 245016833 580413713 170612291 821942468 514867980 270437649 544379399 695719384 512062200 428710537 256371009 122046523 764109097 994395185 237458553 502055250 945849947 774165824 188042830 134162447 240709219 504993622 662745901 953048767 414895369 444368437 103197826 831401963 390210463 922870847 366923291 519695658 533268886 744897979 191721411 917450656 507095398 620586820 167983318 277202312 853809700 355046214 391313957 834649700 784731615 547139707 124928906 428063033 715409861 493720836 214607301 856850958 658531232 639624161 170529217 409978558 250818470 854242331 550638824 686133534 766530758 708333275 963681371 381748502 548837438 794718708 910719418 228664285 653260297 345470694 206113061 482968086 442855826 297601668 230691389 636737389 306704271 177379321 916982892 134518184 387773912 599559245 482534768 144558787 969238495 461273726 875411813 663612775 699165363 497303406 321768316 518083341 766235889 738273501 799410996 515863887 666528494 442152467 136269299 534503739 671238119 819187860 317037653 132314317 424690830 472681789 632650815 570334251 584181853 682850613 165193887 665443523 375214048 348641753 842665886 307209504 625286463 745880508 618064810 367107357 518601316 492158338 520135722 362126204 872156106 848032845 911588362 752829498 225907605 371377731 569606112 427564337 994266372 841542241 829621042 746167919 685473749 240457031 274896279 826869094 980335440 189364355 266463357 430459605 812519886 963175744 241911993 454272980 203709247 527532968 643252989 117946761 582277348 857753767 408285382 765636639 875873020 414526086 310543138 853871697 317743009 769348386 574047137 545994313 621872332 267724094 339056006 970935983 976102263 537032128 201809577 758664753 772701045 747627880 554567865 889569140 257826468 784808328 385566598 493106014 252476233 562012122 434839532 440819664 136515038 640596593 349929860 178712935 992420146 691536362 962953658 876901225 546962125 509192196 906393618 792527386 386267446 400680862 799718609 367252652 720555720 844318469 824473257 258006419 496986086 636455092 368596289 839995149 110316551 389912677 420348968 670506157 986746066 651050257 602894260 138449952 470103170 314485931 213593347 501582063 839458000 586294473 498002991 429337692 607028427 743477665 372922177 484213371 248541988 123552680 246514541 607840728 175642850 874430754 280611767 641467119 854274756 878616602 573213194 487347154 510322129 468218384 367245603 396942109 439152912 916664857 540031763 436112116 285326149 391011260 387997400 733736361 374106329 614178382 519169028 986683217 442548539 745349978 315043281 340428780 854545139 294698255 392317392 917034520 485841720 263996679 273773062 578998355 533600586 581656393 675943234 581306529 249616328 514037312 405280060 378867855 528519220 775816474 110420999 101063429 146780408 172886935 810939946 344223789 550785814 636133919 345681575 572888142 716660173 862262428 252095895 326748999 568408952 827048771 669517890 281461388 828298725 536045076 700695815 932889153 631118600 513031388 935368251 595755036 280477284 235162270 122207059 373598207 791114208 521354752 198812528 702561737 664369611 680274694 787435538 389762643 913060695 510619764 201803918 748279536 822064953 759866878 278273919 365844236 843077673 801363242 440658933 768608038 987073144 506758691 741267000 301228592 432820474 529660140 286198906 517541781 588373392 977043631 115381298 849818340 865290478 516779694 254181667 319652824 566935189 978882568 651068809 726119201 133727314 578799705 812546650 328708672 959307494 363302083 679808408 550052383 307334759 912631652 163945823 713064743 752392861 834542395 963380590 820810166 780525589 634510956 929242307 742059277 797097536 334343028 118767907 519296638 834808775 563292127 252274459 548483432 275635025 658337985 404643243 859971496 553852498 164060188 915457746 537801679 829578759 785160301 573779694 440109201 687485019 839138991 885751307 429332705 348778818 769792152 133851697 817905213 770520045 924702032 977807024 135743787 130660692 560460748 884029827 183022342 453287370 457325152 926907223 713219978 633283195 905930463 899010436 174559370 638785937 285918932 440412545 772603960 276142146 728891630 873348507 433252531 500240062 636540458 502949832 867799964 405207549 734608370 939199122 784102376 127334940 462461470 393413991 820338793 693988854 283673236 423838953 312896085 993008433 546326633 590249999 582224432 974275317 797804638 247729598 344417925 111439624 150679619 862491225 792306983 792683873 829867892 583928739 536340046 380159378 654597565 582210157 519384694 989470901 241542891 215487767 120845768 639515707 241080056 639512427 278456143 580936727 762026926 437154823 219999218 671745088 189045168 338136832 769733341 210535283 706828861 575251678 458273057 224501437 891607119 192283083 546662894 925580457 806459036 783965582 709892978 593492352 278171726 650247664 359167516 146939753 791164987 281554295 636230987 979619981 982936181 508327869 582407667 790662513 589060937 221136951 405262371 737522984 673705929 484721111 884508154 511156628 503027914 152535419 397720219 723982883 751140775 236451750 802694781 241538538 310857663 930724820 853280142 707881861 576911140 750247284 430455055 107759353 507807835 298319555 847280764 382149965 496585750 720321372 552471102 128231216 462973292 534783826 205226261 501305790 862749615 773167954 995935882 397588949 115430993 699111378 689589981 282274075 522549536 900482573 151777893 282190300 293629541 863202652 309979894 795691981 552380150 974854660 548876819 353154255 143369776 619390560 782123087 562824073 646869055 156419646 737672801 846601860 531125394 570932976 167147565 854330692 326178479 201446694 871788280 181815046 159946170 579539381 930370060 176440207 451173010 606608471 454202555 866236016 546850390 732352296 215157511 809193182 885889392 825254098 715918781 161405424 115815316 634548557 428486441 939148643 851536119 675703735 437200688 168187347 899918804 776085489 699066202 301520126 507628677 913995498 511371739 534849274 850809216 945007980 867664065 678260342 203617811 566289015 281933229 806055994 312470877 288069956 746670414 330010139 537531635 912760915 380380897 763640876 951281822 395913685 281521719 240350389 310642995 763186171 409903319 721360086 294048437 533297217 663462644 668025628 177398232 384497661 179833153 640362210 320393501 178639095 135782011 253380953 281342239 708273753 893717090 357525184 158304686 548203200 102115569 656650543 284295915 121030744 696102005 794119248 942361956 411033913 600084681 362074025 666745608 467979886 535238272 887247450 608542382 174216073 588543435 239950463 328034029 319191037 768374712 888791438 241827306 716130909 432615250 910743648 900743761 753736314 545745474 776160566 962055690 837066572 226949366 266396001 608311723 883214573 577558908 221583128 499549561 604727541 574760756 712369393 842460101 660791391 102989769 190870955 921994472 631328096 526320141 492226866 922354507 743097650 697637277 790255657 154662155 610467115 240855090 157547389 321115579 435474880 715986468 727400311 929945367 393231738 934174361 587383331 149235533 196495979 833630287 773553364 508319540 810969579 390660115 310580390 977771325 995773321 337364094 101821637 523368507 607454874 587479017 256126240 426920633 907639598 984050957 516714362 158020103 288614490 341676075 194320003 153727815 263707104 535326606 905144528 688050882 470436457 188267849 942543325 711522768 556983656 591796971 844098234 319355504 326248228 334224245 806966016 128434588 567568726 567402107 586240611 140301524 355818186 330481934 636998912 419868994 951256230 467278956 456767639 794376384 323166219 169326841 114171206 615396513 917729352 504592548 378089113 493621604 811625662 439240505 379142175 233115008 295205206 353516590 441711907 832372584 168500489 983562245 816468846 139338829 613874186 461489468 726899047 522193020 314657868 699567399 547281607 622758747 954315280 538961513 406663029 381111637 868559232 367075911 385421006 325598039 479237174 999703510 822638390 838760791 743347824 408843138 950703726 302749942 878048897 288676484 613007471 171973196 786277328 861377499 822035394 100269013 503129235 357435435 454222182 676195965 158679586 785457097 313068725 510306064 539265480 414351049 992099932 346999324 236924501 450243946 808213378 680518327 634776207 818162963 112953943 147846537 167926016 532035730 880577293 266632053 201994934 350257784 243676996 811426746 690514889 397385923 891008277 226679694 694816959 795880015 917145267 880574334 359562480 272795584 768714870 670248647 379050758 495558840 715843451 287020141 963397578 383904403 139784017 188949045 976865538 433435081 104742729 856399322 986947470 409445127 935795358 956633711 622975280 458274026 948856954 545448903 365700519 533947403 786134300 434762527 277929403 721279577 411482554 688497015 640959751 915506067 185438322 756795149 878611913 133474152 781906481 311991337 345914194 150222256 130117462 266495112 198384032 146441723 705103019 485196143 277233436 419364062 910422813 179490047 231375446 633086160 483804302 947630882 677960330 922609933 232355776 139695633 377011437 169570734 972017150 370865365 894016698 666000614 340033793 376478964 560891784 810415508 714824030 599550977 134958114 427257718 626357773 831558594 471562023 898529512 266350490 907969581 575447486 185755863 941954521 795399205 504779665 457209476 631507391 962246485 168372581 764243785 305786416 181487096 353396352 734653229 218345802 855408132 821103324 430055706 707798046 264493001 866888378 961339265 783807875 489907358 110963382 206704112 322738051 575485735 623339867 558168342 326870481 172340836 939792971 758433200 764917203 546752634 238781375 204421637 950968687 572949352 130509592 905558217 747698377 260830973 651583451 687452621 898919871 377196747 753333235 202158223 798668709 887166117 376539593 678999398 523223446 134068764 606159778 587440319 604526563 594605555 103191146 728159524 586293142 402874679 862162547 319844572 285381304 189440118 367154452 803847791 967570197 180208118 241258271 494361194 361285388 900628637 451626461 781184949 303141046 127079434 167885510 752201258 497821960 883473204 330908029 227368854 976149081 710549441 139812040 266902543 927847736 392573972 544486169 706721853 591712126 830498517 154173459 234231074 433360331 363465765 902002878 815188706 353076973 645566352 322160843 413305916 154366150 706182613 978281316 245982107 693058707 732841639 950513205 790676958 432456490 760899521 833661118 797952146 145398557 905796442 535758851 110576285 620190632 781767258 101293190 955164317 772149185 886218154 531498493 787363651 241629187 785471250 651177454 205248989 317581926 873761018 542694148 616921057 510535021 712445520 178630162 345686149 840978593 495197043 448919910 539071658 789882661 811338343 114720154 418999722 322807955 820381309 181712531 636057212 399388549 115096182 414425225 253590055 267035376 193406541 405660200 296164428 293817035 880193212 197960914 721962665 606985138 290731476 969920931 405646394 676433564 494989878 387414669 772923558 293734087 913139306 136371319 710982573 221913115 810086645 767041447 428820049 422782376 176968140 839764464 355001890 686094276 970721951 906777041 912284058 926926597 762622605 109826077 881017903 662614564 700527723 942168274 880637400 516970873 741562310 158671869 193131369 479819625 299781250 963949474 606625784 416153331 954058968 162039933 566965906 802110544 219721105 766450877 879988703 849566274 462183120 220854981 236232108 986006197 623782614 145442318 788734839 472629934 340506974 799188321 749779841 200406713 312867578 434088674 198444654 298274112 793306466 469798049 562418062 974576369 866967980 906302672 678010332 584701032 441488553 651048143 952637360 497604353 494153935 985539691 181261637 876156627 213626032 736366177 870194125 487594826 535415483 434772469 579240704 630045098 741032330 552698511 122416403 422846379 573352287 493830883 943434098 531498966 451202178 640903768 474703985 216141995 742801685 657564127 192522930 582996171 774820323 376845130 823351426 548846953 589819782 122838243 100958559 473966615 697794471 957421611 773150380 225301148 949242822 242439098 112247786 976847670 122317191 554419609 115838765 677454940 865533303 883293236 322903643 494778561 227747057 342627111 929831532 327852170 844137566 628988306 232948946 219791634 958937068 660523714 217503422 839052741 373661199 193028152 760128496 424689562 742838628 289409098 425272648 269952247 570733103 576568974 665945572 206423714 299269956 820873079 874301193 532954906 635536618 648771328 954922397 431282546 628269864 463744650 393225384 643042142 609890332 954311485 574044648 865956145 968498006 877699984 112230760 892982157 490501074 212723014 464550026 935590720 492425027 907973608 214746017 104303253 130735933 999462880 693425213 935394433 870380378 605276226 996875009 901750348 332859342 600238855 916366956 945870686 463819075 858866500 181196102 341120856 311277777 438030698 361588144 975629870 755061051 758179544 431217709 172369936 258208158 795363870 454082376 958404771 657519080 652567811 922780439 810797952 357056090 400800941 733241493 915222835 764489495 596971269 682218562 857177596 269116451 651300276 307832255 780010750 274341306 475426703 820828299 292427596 787352859 769109871 977786630 734374841 938533116 613793701 160861228 380091279 544408684 538102990 390573831 178216885 210959377 113220963 518490682 723427086 515956243 454799129 167145069 771935493 904810922 100050238 527756307 993215489 353078424 149624470 884668391 732869417 284209229 722334853 185306545 799311369 470794292 950607834 154076382 373396489 465822018 882633865 392201627 368786864 307395162 253552317 555960519 358770949 433758648 184930855 310158828 860855402 662774435 926742185 739606801 678947445 641705719 755292565 643005327 635877637 585849510 994012050 681180892 380321990 707924187 884523371 831671859 637534228 681552937 503291606 217879073 216114675 880576557 230521626 408372041 593876204 365427610 779552602 768092891 719284357 346907864 559814797 269207406 300788468 853956792 710358685 832926301 872346638 158966205 652915874 973990023 728911937 839243518 914429864 150530410 628339891 427775793 937719235 570273503 289563434 221620421 180193717 393058155 121855245 848188854 286380298 656797404 894264608 765183575 894997992 991277602 525876337 958879754 240092205 922172449 634333625 465477888 134004571 409641614 621063807 824443471 561824478 275481239 357635937 792148971 127860085 396343388 951305484 639079987 180090232 649820706 648368136 169124417 770951724 678395952 476612372 884724370 887796821 492829448 575203379 870087125 457146400 737355264 171935559 194301558 881809864 361856697 840815696 260781644 406901077 803184798 346740736 283511250 416847225 458673134 672143509 806527216 669110700 276933888 403137050 928564863 324508172 193085399 203515791 800915828 323399085 951181397 977450669 902503981 207153600 822852489 459526764 437998574 893383617 116531432 854378276 802676775 851916331 359084091 251477118 938195384 532728644 769531280 512927903 435682709 952192972 765323673 686802392 429651680 283096103 121466734 949467844 432051826 289484577 592845075 407262710 769287754 354040461 782916930 402687809 201903669 146414442 994836819 893020670 821986568 354080688 401646008 212551696 919631850 846851087 532765576 645150726 879466131 212050369 295331257 377149842 495877216 147224205 653038135 971263755 197270373 722696823 187582920 294218581 140382655 910838491 717738675 578126288 986579199 570845148 814189887 948624580 360651584 617513120 446504634 347987546 487176414 878745602 771693320 744027567 994665687 206602754 319014239 452670439 936809595 359736077 587165699 196303988 802857395 449874536 462098708 502287691 581588417 101504681 987278764 605219271 566340347 295025532 899247099 787932109 994860474 835673473 552149922 397072464 983365222 882882573 171069291 433198921 274292357 688039266 400806173 176079481 528335869 304581894 678817768 781637236 225538286 253605360 957169217 857868964 940162168 227804425 624708986 515594170 947888985 518425455 646908991 122929059 252953857 699406892 939128484 526227574 334712547 977731051 123348200 864804152 573472159 529985046 749477374 771193677 711822596 513872501 318498089 962071861 395701689 791947539 417929556 553780610 439826856 482020470 747587100 954281450 908489123 429425319 146195447 618529927 183909521 573992511 360507641 454659241 712877725 708840563 944869063 554755071 720294559 362607280 470389095 195141592 446692550 711115053 719279304 400820189 172627497 620892052 658313617 668861114 639418547 456834841 755382567 608391147 436854186 339026293 979922036 203253329 660999452 756011941 144897102 937712435 180899992 134128075 455649577 369774383 782816918 379895661 916161891 530778204 739521975 264642203 552064609 731843812 135434308 681874829 990570725 904135454 723334423 470703464 263813839 557260763 917141972 898151626 892981291 398971422 487770255 867736260 106278701 226455033 564809174 516491159 437573957 169203946 577747829 304194350 570831862 201226228 200136260 467842799 801691094 143003520 776052501 927800944 460962635 304459708 421779691 287097396 442404336 921013503 189808798 890552834 626435042 405497298 420988116 356887983 822220538 927690556 691308247 282537224 114319179 537635580 670043132 320887667 190187798 758828892 633872122 851667378 632503764 979536589 623159394 617365338 756140570 680173692 530797634 724521828 327808360 323172418 280562760 456682669 881370633 305038219 132915048 470223117 658800789 628833897 465271510 524415542 936793596 774232212 712407812 511749139 363060528 561639652 196140360 877375379 144021223 203024409 149288084 116242855 677814563 354489520 360106137 328331538 554715729 763159082 962836846 380912974 718215454 935058936 472022240 648881161 725189807 906014142 239600096 608584189 523340896 581692890 681905079 702890251 520106412 811598217 919411322 531097908 986727128 496915200 296601611 286449336 860976821 568316348 148769227 576701307 606130613 502371281 625822965 123997291 660666497 649228787 516787573 760736528 355955751 368158495 652027703 503867567 484177836 995214139 452911029 604253888 323456152 368793460 322509787 615829849 395392396 771809539 256014735 961707426 115378068 553558285 872459113 925633497 556729760 377897396 827147422 431543875 834257597 431738652 816086808 849352204 820781286 363316478 876162502 622103544 437563087 288557910 695654907 376232828 587477739 241278107 561876043 840929847 119694193 862721624 230929304 804571324 332631208 246162889 185497415 492780782 116787604 478590872 877734654 809526747 803764457 737238857 531474221 910425644 753816019 480620911 649963640 676928974 715434190 703117160 841792872 938588548 269598036 451770869 631472462 320655316 933126853 163755546 732724663 796280012 781001953 452674581 694940507 447810739 295532208 530451466 649853058 287756358 660465555 774601074 904569827 173684965 757116764 534663838 363681573 385436572 350408771 371135345 153828295 190777588 108435179 659461880 227547782 578432937 801004897 424145412 394587188 825595463 566992862 412557063 368123545 764881116 824163717 879506506 147861327 519278920 855065344 183757323 287231945 646846434 620379156 207644623 915471675 318465845 734624778 289368058 131443825 142999379 248553532 130273370 352570236 308198543 429174906 459397960 569303146 445064141 182131284 709905408 439974219 541606296 153797635 621048053 681834341 408895396 410796848 545314294 793895150 104526767 734865209 539823566 589591979 419428550 792476530 940157518 289284328 675811975 160424185 501316542 109230088 276499545 991791218 419379940 537689529 911389108 760081538 503285848 925344298 880260012 713762636 668628395 221134797 630098757 142058192 768024395 381211685 548534624 187139245 625974834 239585520 280732626 741062620 581870063 584839914 264682761 752042095 942410301 809620173 895735017 654161417 698438707 277620922 945839586 388721438 915781059 703070752 544739234 733514297 504326545 332630184 383810908 730102787 506609198 282846648 853346802 670411561 674720106 945691210 541031714 464045577 706343188 578073142 973399868 745295312 621014870 676629747 327075152 160428385 718763983 973224842 161569145 114024430 980289790 818486597 877003121 683394948 549197251 338314571 117384629 909127439 771024888 731156958 297656324 814957194 514540667 365434213 423978944 175571933 601186272 946517347 299721612 550539473 727669428 699594025 363328652 909856213 808973929 532362382 371858976 171535989 744736759 990851487 664765790 426436099 523459735 472433764 152631125 694038193 183021688 319145217 378093650 303714561 559536917 752895589 958120912 997433963 713510857 943639130 550038379 850983461 593697841 261662858 115275432 470241280 924321339 951775496 952176376 671906695 580527296 400852336 783066693 844026970 513462817 554538375 895432417 804993176 929064776 889515064 350744603 834598569 587963462 568544955 816994641 509659981 952203516 555395154 172263874 507285666 165142536 494835772 601152048 198591884 977679248 107622906 939579813 635253985 272780646 685712713 697347489 656181747 741781535 553830470 931108720 145903445 587785128 219832222 998099507 727601419 195205552 117221445 481440942 620518209 106226729 578604994 394342723 785247604 315002537 601758103 186038848 250130139 751716266 397191174 424120737 174255939 301979850 778672407 835587906 553251779 992311038 819019191 395029751 296433039 780815672 523392125 870416068 282168534 648715106 590164768 680012488 901403821 979207420 310481216 496146563 866218758 868968475 838287734 565132495 417303610 757431522 489282888 178495939 324709335 407266461 345175800 993164296 327596838 179471616 677933857 508870811 884366503 142801573 204411829 210400745 379156071 877698438 114029833 360542154 551732878 113399500 180048341 607331940 582539417 524335288 857358496 378570013 492077719 215909505 611086363 475290874 770794768 150801213 470903466 260110419 793903124 806190501 543893313 216648874 765162823 536007874 315170470 858671116 645521691 993614438 816722432 577341649 737492013 871319753 805955568 613783127 187895516 442869495 621960955 226145957 224671342 885602423 453274926 969878463 292443213 132950478 270197495 460300535 210760556 592047916 373317617 448433323 810152214 106366434 560169710 834250540 800371497 652545516 524612609 199738306 835121913 766417956 528893119 105381563 773998289 550380192 864855251 699978995 384605262 689100787 572181221 122615674 840309356 102605382 358905220 149934773 501522929 233799422 851743457 125568391 269010454 708031958 364968002 150496290 728634979 792817106 419260771 813545033 841533149 433885189 153134384 259502422 924289543 510646446 131938619 405777384 722452811 233840700 778860578 289926966 687340733 168636787 198268845 515370770 717939087 569900961 651989850 972566860 299382354 402969874 375949863 849256014 743924376 161989397 493951928 491965228 499839104 773155802 887340008 519253328 769234823 113563689 171844835 353789356 164455125 460228805 498121752 952338033 972525918 621955164 349752090 926056684 946912946 530605271 813992733 457818014 996065003 461792237 404535706 533984814 235194381 552272284 918220555 716904844 502827816 719847009 315291836 514670713 374152892 880916649 171659430 815689826 792642861 492747297 485974748 483645109 576216464 409497247 235041607 781515051 926103009 225190477 958647338 951848504 588213662 539204423 447783709 359253132 736247834 551929533 905158763 818187743 370467347 217692055 420698639 720059628 814366223 852843838 204407756 196045632 828185970 711710821 214305468 645347086 340405706 752911393 629790315 424946662 119044989 559401584 679831006 967975563 463143372 767587052 906328489 113530711 815969094 740993261 468799766 781787240 914523864 689249276 706115922 773445466 670097529 225120639 339181466 201685284 771737203 513085883 325098362 555994773 337163492 762234791 853201137 688605189 214678256 948990531 189676728 864384833 386280637 704685941 748938210 999878727 632827513 603989449 443728962 702739193 931537140 803563205 259208936 647840478 242114410 586552980 134002867 460836697 696373175 192715173 925687974 362200726 703831004 103593711 842664022 380162614 668296084 833852600 663157186 608290059 457964191 108062987 972685732 294933577 798898687 656840849 433150104 210634216 962808998 487074863 297512315 553486711 947623440 452981645 275932392 515358224 163878677 100375752 194523388 460245389 827568221 346230432 594778259 489348713 661609736 322934655 622056671 136518931 209459052 646368508 161065579 267120302 995872348 862834567 683875944 254111042 679548076 295602110 433378842 470102523 656220218 596927362 934684767 913538934 608908765 650446989 640779963 294267080 258820345 322597132 852918922 733924982 412410882 492285279 141322459 787913314 899777833 335996662 145686174 437408361 826784983 131615904 321338209 399330441 967205560 463143088 214641848 540782262 590886392 876832194 584778224 890364169 994312140 969284602 337774936 513465652 914929134 982437000 526154216 583662978 593972274 259206526 438809937 860035977 243310940 658930222 801438212 274288741 683741002 174806012 950728806 460342985 890311096 840196402 308641597 355758462 370170352 186933661 399895847 712332812 800001657 610330339 223175479 162286447 540072158 617424325 553145687 867863658 837571845 366080199 999542198 141770227 250892360 509094117 404493793 509828410 176702433 753743677 736133640 630257295 580893215 334913605 129080957 789571662 979620739 477708096 443357926 223041625 960268681 434287375 954446146 756903359 464319887 167741383 933525464 729849202 236180546 476235449 580545759 673501145 873425616 546615103 724667043 183594188 475241772 120684616 390627516 759047740 921441130 126531211 436059291 581257504 133172418 737054070 412339688 951943308 271507264 863435765 197843598 991212533 917464182 414058747 151135364 803760088 182131313 739409310 712135463 826783620 754748413 819897573 459405086 313993907 648933009 371040849 764094027 964077089 892489152 611915052 203553426 832543385 515709575 774717035 753200022 193178263 454106463 797542786 392712998 881738407 968500872 209595319 590983447 682234117 672790264 342111401 852911953 702840151 832377839 971002423 331043234 756656955 206165283 570274209 954878246 164561842 126520971 619226001 877350315 767963467 625291740 981824059 655369484 721909881 619244716 656020929 565714660 774687453 965690970 889585596 767289802 870527355 500804887 910669140 969323739 841179867 871963553 690725704 699931148 966942357 786397485 373448498 711033466 772527513 259367053 411837779 280571300 375748586 914059739 566390690 795989787 628633843 197931617 248382304 783517433 520002564 847703081 882204934 251092121 764686881 986195558 697375136 532584110 569132291 231659914 738474894 318303903 351250076 245806460 777217912 600915830 758261564 106247621 843259280 526726380 645860885 516934501 179582611 169137714 390244283 696982639 779291234 103061856 554024849 986270757 308130676 651694542 271906335 682641560 847674123 323449847 355597476 264664031 926624573 846657647 705387828 144109929 582376340 797646265 823749515 664620937 988112214 409743171 520486514 204498310 168635477 912168128 560457333 877246925 647960664 866610815 937773708 341886566 163953555 230307978 629539051 935007195 215896394 393879061 674948614 659762483 643004729 220308144 526557496 194333046 899751330 717805591 438430822 410311740 193476670 911123544 312377441 734500816 366180479 990538876 918038995 360031345 528834702 321728076 531767176 334394805 600941879 352700052 429510008 625996763 942552689 870204399 823108004 684744742 595207179 985771946 442111196 373135448 413713738 287937516 342647237 711454440 418738759 677570342 603902838 175646063 327207007 903166815 957462007 181175585 932712946 610088196 129389907 884767662 959189068 678328565 109359059 324032756 229113966 999445610 645175602 128324183 917347389 157234819 924057276 652019335 277673634 729909704 868294160 359512770 756410694 580476615 914076520 359489873 104511183 402001195 967513687 555845547 195306965 179408991 647446004 263421713 898618445 137432893 788299276 837565017 375287274 888598915 152842325 562827621 456726573 811994896 480160688 336621766 978204784 300889702 765645310 607144731 367283310 904220770 685563657 539781114 543818232 534487924 460906667 323987856 338839003 705148341 669517658 711489324 959089635 890949177 594242736 744463315 613759989 380473573 636798587 745202130 503112644 366291042 336613476 835021986 734861423 431171125 776815456 327750144 600660882 961080502 572890797 469785877 533662985 451821660 722481749 757533670 398038533 816922891 116429300 365379572 808020216 336361555 508822708 681562555 548947704 602091878 764076629 133301535 291251769 622419620 595047663 223210433 277612771 954045578 232767474 193898802 549171373 210958676 798732994 440508015 592980658 280412736 305968608 651503578 184536782 295070621 124851477 674401691 844667046 799228725 141112341 480222005 827309717 754756435 330106047 181535134 331629169 763819714 364805867 304585576 487063048 918434632 343886511 684514597 139187989 718889405 935670270 775087830 395574747 156372688 138357852 628456637 301152625 835162912 707687769 733475234 242687778 387757140 284401552 526856137 205463535 509620002 190677788 389802460 122207456 925310524 315710554 826506413 215748400 716035355 376036783 304641058 287085348 795654848 223685887 233099890 397281968 944908603 657590534 274768078 472447376 768093140 558318183 283526170 548638023 205158233 805423161 921482603 702492255 293854568 115340108 606790490 463257463 159136566 726639023 883529037 108319603 349614562 746394260 493229217 983483489 186547167 702697423 730630485 265779785 372343094 959538502 418395976 416455360 443117874 476157552 822640520 336634984 246862727 675450148 489665897 911097081 782491011 614779016 482921974 192985745 544814403 275351661 282267712 963958215 178368117 104060530 230420507 117214843 869279519 119216031 722298017 632840799 159284763 940829790 745167117 974069984 955906360 774104643 461141373 479250166 301117304 270326678 578781465 180098211 150187215 553981676 472340347 806160515 718513022 308946685 644431292 493686729 793083312 946734685 954895742 238444293 172605299 409636442 949661183 246815517 937398396 807836163 441490663 840751130 475562829 813310776 648065055 880890430 948952471 935212411 340241695 924491831 934426016 743776749 144598754 868826025 784389703 555530468 944868608 910795146 735304431 747980569 802911052 994908153 449992805 909349663 293716348 967343743 694618975 663445302 618161151 684975740 342909823 585883660 551556377 886405985 646864818 461633662 732417335 102965073 233689435 811819014 250132419 691225328 363203825 872143516 472028744 516072050 690304663 396986729 319936979 749074546 642023007 889620112 177031326 834160858 418419199 227991942 770448951 938978017 873822038 966268308 476788994 864079515 216086267 863196358 904290545 771238057 673205763 592897032 480029656 110677835 536517894 736681702 307740524 647678071 194706376 411668336 771837473 802617048 453184860 920614580 327221930 168556754 294843398 398784293 419832053 276246535 328295602 326066016 457801109 376535765 526655343 610306432 557336626 648564165 922351971 153002678 728656436 726433144 136888193 220333969 474859121 575703843 435315815 458389420 561000069 234469769 411973565 802617126 163905040 854688550 648859952 801635134 842378560 150087118 888070751 380902153 957033285 153491301 734769148 380368764 238723064 621629138 424531284 166034092 770899372 633809258 206552933 432975894 647919110 754620852 560400391 987515107 796447116 539273296 606931967 750253329 506704977 600886238 444595240 778754770 411039722 400599991 768015290 130671518 276745494 335328817 413353745 680892964 957372968 874931839 759948250 380768679 712029146 332374380 483639993 682025138 684441654 799434643 506456792 303076704 362428977 895445962 183494786 137172718 830326192 743502022 431061924 487474581 609439430 569045807 709450227 837813310 827099314 138632365 461524809 463594471 857486163 724222096 434497531 828939860 380256371 982472826 372032069 633951462 622608863 323133662 672428360 193938195 664608929 334178650 405608324 456744970 975241734 100309394 697878889 990736137 502540340 384207811 957423480 969231603 904359966 381441118 230219722 560959716 584815979 606116454 291894217 328404669 764965757 604792984 121064330 280180568 756508682 396028271 765462705 814136895 572906744 416098735 128570624 498730229 360151809 699710438 814632221 437118278 509027818 794009934 327747013 539387017 894258856 753409455 400769794 938110389 702929093 115028350 461503664 971718755 933157291 602646843 926642778 462635230 633472230 508350007 213946679 831387857 439155787 418625621 674934218 607534991 429072958 372546741 528463916 498144611 228639021 900076328 743493191 418737980 442960321 857971219 420656723 761855572 200357089 230548022 489835331 640874065 526719374 186982818 870350653 598080110 822250052 427443377 433560978 335781056 397456120 551359171 651557638 134670996 822581802 879169411 339620974 373954023 638202090 669936803 489028662 106296906 102580841 236172979 946367218 796341695 450104676 840031850 540503657 725613319 668467625 826188455 605365195 367774112 102632732 761000975 856067844 219354991 415736058 867685618 433381756 659536939 582213560 965028240 666426012 956795557 212991797 306900229 242422273 698567567 496599777 563810984 938406688 264823428 595661820 437587077 370218017 398666962 245197711 726404409 944026086 677504917 229642968 189442029 769771626 925663535 600257337 184077988 317855295 160103518 909083823 598644482 180666272 338943258 446994752 381749866 556752992 357306513 730193012 791257344 339266501 466342460 766949429 669574189 868959061 115964292 664557744 324478892 128761483 545146128 549578571 442503217 290080414 782547554 418378955 656772732 161102858 871072815 495266646 355203100 775342106 695105643 834533948 624721470 787481438 558940445 690058875 999986890 767460370 808213113 630008681 832277193 235208736 977751168 711699301 236361893 621438299 420089659 762463589 583990121 886719997 230616815 235038123 329209824 518047107 243279145 690933832 927599445 503148515 454329394 758727395 717569053 150592646 270452930 765892108 513329372 205388761 381257949 149143197 438141527 595873064 609718624 199025690 108243231 257926216 672423758 706399060 126541858 405511772 604722308 425347788 421236302 802764893 940929416 827531649 104165332 845139410 753206952 929427815 463501462 783992274 340567354 371651449 459043097 244074552 999180297 393627577 607215136 312690351 849619635 102588350 275757029 977073811 967742174 814238217 233395326 803547635 394084286 957539847 287204175 361048560 571172739 313037090 172567631 653683039 990362329 477017523 897325327 900241122 186785246 831068979 609563958 280243162 405798004 168560524 181114230 902669903 800587263 377338272 780472263 209237699 958293231 137332994 293114474 991863884 764980865 981986693 641126620 953586253 556465294 847711108 965340830 890986459 724633468 517602511 874790857 864122538 420928771 422011296 841722215 765683986 966759508 611149757 240080429 787654493 712176293 865656268 703293848 291813053 440859298 695236837 208601155 254830496 229000834 878655945 306199148 519543851 328016792 392219341 576572483 376954709 346227672 354543719 773576806 870767230 967994195 142427661 590773705 523448404 804590486 920265774 596200221 533316629 247210012 481758517 634953189 751867757 935093373 915930292 532367757 348753095 145224683 117195423 520215038 260894065 405834463 859750243 855898202 723842100 360772514 500769291 865058663 457789288 694257264 497069388 734343350 890066466 579608164 114424863 365946329 474777701 138258075 155964455 225386081 435767641 289758891 402071287 981581333 414201757 981082362 642439023 800169056 209325251 684695955 801527001 459412568 648282776 261259740 696831712 863546753 204493031 207311594 408430256 335335366 203223662 874377750 281828162 863461709 930830023 939681264 853863778 634877970 242250042 447906075 732418129 448313812 443125593 248991407 384604562 193900582 307095476 712156397 368178135 453033038 680241101 827008536 156340697 389013403 635127329 689828891 361368052 807682441 537045485 336169546 825857334 659685897 203787099 430832769 565052191 758130879 705927411 305283874 676073209 432035133 586789987 928617750 199039748 514188414 914881326 133115989 306725261 148397146 135575058 180813371 760248543 988699724 429805288 472586203 328258549 628116672 355003245 427381197 545947710 110613509 959320497 339109568 602565504 605500259 858277180 261074953 604631675 439800782 103860619 124396356 696947589 330555352 234902066 670732362 102953631 110300091 494607124 218101866 371958554 378333424 723095832 472603456 251566768 385348827 834593314 271353827 469152949 912697186 402615119 889745597 427546614 869053259 161618865 354612089 275207777 996717180 425572486 745625731 576555349 781318611 998324320 586860417 863741970 833977600 705716830 863835288 324833201 295148596 758767656 638185949 982716047 468253010 877839099 450373541 729599089 526158677 189572846 194757522 356639035 378108885 247658630 805038412 772178823 970158144 222402932 777144815 842316962 171156663 573565803 818421262 517537252 420708829 739411631 622500756 264785488 703049269 612344133 202425044 496860609 773783509 516082446 245277413 916352334 958720702 345587719 443376314 473995751 559640501 108284574 714593906 779463079 228266572 134384695 416410754 910983191 115926958 165930212 355416673 606348545 797393867 299577987 925765429 422528934 507724113 204683176 426186649 641348080 870663908 179580002 104175809 409094457 248781231 375364595 496909047 679286879 621046080 132208425 286509424 854564809 751361745 791077833 507981020 645551774 110738966 292008164 501526323 467283041 741993455 608826317 360183627 762794358 720124873 122307361 466030619 774903124 607532500 405121573 596564664 107768767 286897679 154499614 612949421 520019031 745984408 139024814 192235533 821420877 593422322 325505424 900085379 159289813 448586827 289236764 585411615 131345932 448323789 157856122 960138623 430017811 338095884 890554191 505387978 836367017 661116717 526680892 277327081 919151789 544191849 343888222 752634221 689311637 849494108 875039632 425920757 863737749 159997323 273188333 583291606 444139025 141654719 678167277 279846687 666691219 859065363 785659052 387560009 377883004 718447294 580088850 518919523 217234240 565389715 713374932 810105741 167835397 323485769 155776147 938798763 797681909 603134431 789327033 607781326 471764148 267828818 469700036 431092468 957767875 267204879 533872369 392062053 568606287 304261848 624615223 609309694 333510341 104082980 623304224 998264676 842408961 954471042 222574029 116281964 154523295 760195030 661227088 423615588 204088976 434910278 677005872 315276476 689010808 231625199 871427346 888632324 821440470 900006386 298585241 201945904 603299899 271994219 136654134 176273951 856966432 805155186 779020757 206763531 717093074 563921933 179637123 541684509 733242584 396419706 506012634 840159289 479598751 219910433 688157832 243531749 979114868 505367188 310471464 885738141 288753231 407973645 602400227 528869065 282075017 855230008 477543238 399178507 688308946 236074400 986301633 125232760 384092112 968848805 256837257 929405275 575893785 901818737 903240270 931336097 600922789 600451906 373654535 752363377 305286589 802553469 120103279 434637689 523466767 703716913 778093200 351485797 613690795 878745559 932053999 468678062 534738055 826968714 199425265 184005674 440518925 116910787 819376759 584903998 193286132 191674764 125145505 270460693 799546764 312556127 611940967 611441290 137395058 490691074 160342457 522855797 931414479 515706381 297199560 431571477 585952549 177833512 141679723 216180119 125021576 174094980 357578883 212610455 401762795 896152761 443154269 114516038 918170329 495941655 838073073 513038775 600605462 299632157 836152089 905859271 805163142 264972148 416980574 353259716 292771203 583866477 315588220 142139167 665161822 518057382 706585114 881620452 430660111 202849939 955090133 163372288 988615084 237665069 332004132 786669160 653856740 245313074 111984056 665109110 896633951 288296236 856748555 474785449 214507819 233974388 134573593 935923103 654582393 139760452 190496461 834042989 463247818 665958230 836562016 518298494 458561674 597832107 768903075 721516813 669159283 586262155 119025615 742773772 323874287 929100118 784020663 805131185 397029293 707519920 988311019 367840156 773927412 929923923 716735602 310635095 866164954 879588210 594211502 292605969 203374033 334749576 606790259 852672327 111374227 850487884 152010043 976572598 276899679 223182068 221879546 306237229 904024602 145544900 746011466 129935549 233345439 403170432 230744657 950143296 730479079 919680939 256862602 556671991 754673856 736536337 877065095 199459220 116666124 446651352 466423771 138443387 812707014 390260143 246241335 367624864 637293421 319585076 369992517 402138720 798609346 316785960 685869424 181491955 767971292 434589204 842630456 946643794 308940755 866541092 544037136 811756775 795914914 843938599 376131679 471213211 991196834 826791221 996702464 278783174 626113156 286291118 494568051 973442287 728143399 284767614 741957154 291654712 956747481 174867729 595173526 243990429 329037427 228647137 780008606 563399901 773236477 928351714 895461412 283369280 497226086 186366839 545038083 315616601 884290312 829930581 549237077 264915293 310118350 926600943 239266811 567113305 893774688 148181544 856337487 181326288 179917823 369876015 379479763 629310374 180105743 112257763 815994984 222044373 133289955 232826607 617229838 541900247 675152465 150018438 874269150 966958297 456796411 510629319 179825199 429247153 969954265 726049745 300041262 134800103 519427353 705036830 798283165 218336258 982989915 653939461 332460658 510436108 747359277 659844908 996517765 467031987 787238878 265827733 304967007 346465710 550723862 421573900 194048821 187968735 217221488 788604851 379959571 209071322 277443408 419371327 386783644 211074782 786086439 370044048 722677477 292050350 647421381 419824559 623933793 373516155 223339358 265235971 783063799 239379446 987886909 180835526 902756203 848652220 109678392 561759472 615979344 477579123 818553320 691168926 640213617 969095551 159011133 403234269 835326496 387769508 798749174 729487028 850931382 175249282 874672310 159942776 118508814 241337946 430747287 770247977 214284058 622227961 775460879 381153496 787377033 821876698 636311376 258159549 115742702 690629626 601184241 239305377 237197027 742816568 667313590 759736476 738759066 577735517 605027889 216776985 949684276 560374994 844800813 948333887 972491488 498403950 199921834 717115232 766988753 216534898 530557031 835234100 851273423 540459092 586723510 579609185 449189777 303563654 845797429 497722341 823237236 730484636 535451351 102369374 988022402 573742939 894866518 134437152 230666592 446059744 643781059 252603086 437577318 350816322 736548891 221162240 561928060 153455073 748266902 639443820 431221422 376342358 308482130 468995774 305936359 769695935 511852158 414684525 369031432 443951864 391471729 205746171 240054809 901699181 757649454 325020673 870887717 617244873 885126556 238621055 998487104 111635633 517366876 642216638 881788677 711712790 946680296 811792138 535960255 504018377 976659568 263933838 189663527 110908325 103254014 453012248 127098132 338624264 605409788 179382144 262446709 735985854 748992080 452837136 712677752 913496635 424768974 496839462 705347467 962042103 282415667 668925859 908230601 546450927 134642634 298063199 487727432 325714913 572064416 821049207 177019842 847825048 849799314 198553177 651400641 482823129 440804374 766059397 538808482 933253411 795548353 556835323 730696425 172194796 864029351 154926604 224945591 459168526 341336497 144354518 299652423 172007947 832321034 729042596 354584144 526523358 406962248 298655485 276705592 165211095 131265354 927107774 319549221 856127777 994190224 669394580 176581146 991851455 547317035 342048726 212037918 574425359 527266962 567517771 225053442 589762676 104470608 502458581 467743157 406269301 853541058 452328428 495356283 890548986 564590841 785988013 424933153 278777340 469935908 298610690 601920535 809591948 696277552 522478173 385775330 436521385 238122764 828454858 252533922 262846214 619416036 365670031 362460805 968633818 716336749 916246160 294296144 911167018 448130513 194035926 874958767 394428727 689632926 320873046 741167893 302641894 140549234 809351957 428655516 893193480 297133438 869961674 305300389 555356100 550879389 315290747 463144805 442080561 337812895 679463771 796825979 151567968 338320568 764256809 681441095 744723258 870948301 946323969 613371149 365188568 302380517 183460359 163702305 477597250 486246993 252608819 162372038 907016017 395281537 703509247 400301492 438385945 181033907 936254763 153267915 803483043 532883124 472418944 813354957 957864126 645301913 381833086 957341120 683751614 404454693 603079513 311406386 180746994 773078265 581538738 709131927 276397217 936849865 199006782 918312317 844644257 479577535 929184855 894769402 532446934 598245969 406156506 276559886 634970213 930527790 519243045 562187074 619184419 987006896 949479662 616039865 515811710 375306123 172555812 828157512 607844193 822132265 386173312 302723432 403059588 216437465 329153105 530088915 648555035 119732304 327693101 249601841 119340913 726220003 392202968 685496162 987153175 328831099 922901714 233563846 986964796 214636757 749776851 410066426 332473636 743179343 771939822 728954167 813821961 807143089 813592911 288784956 230141948 165089131 584105801 409651927 957366231 313449942 767545834 479181695 187052959 174824911 364401400 173007078 944249570 123062135 450759735 907559350 137760480 233037921 348210061 523146475 310690329 120857251 731119699 471344889 393987510 986133755 373979581 658823547 293518898 997424059 826969294 430457273 448599852 200426151 948799810 984826661 578345131 633927300 788460947 176118709 234641770 924491528 511218449 681828286 634442373 224295598 953507680 674651506 156043489 938572740 766343938 905463317 687405208 717908035 274276091 159617115 505447361 330159877 545572498 759135173 924727897 561400496 437854059 446621873 243400508 461452297 455673006 363145034 603713090 117906181 472205653 852542798 357814096 366106181 480913110 599766003 773080106 762033332 964699021 835483144 904125271 845278307 892412191 863215777 694582355 523313453 465613929 496068817 305704339 435993296 773626933 318364497 722400653 504584779 833340135 606427883 943614973 830917111 532733115 161353985 897727781 888710185 399254340 812469556 418590071 498294384 302789447 706489887 572541195 462495467 506078045 328554305 916420537 504172028 591162750 211765092 234107545 588659514 151316842 928241157 208134588 876704382 531705571 733804715 704026261 643354824 348917534 656483696 979887661 131329616 324849196 139805815 885833046 426251897 337512765 719288812 998505981 277218284 902525115 507650750 581169034 725638765 478291283 912918541 484485777 947789363 272288618 980781815 349561117 651352780 984149535 551170844 989062256 189789202 382385057 972252335 688703532 947366444 728777523 807963316 915796146 384130297 935666805 641203718 662991000 696395495 471675197 908907754 652547287 547501274 694882565 325148375 363805592 515730102 678719416 396965193 971536405 201419132 258444517 370103046 118837932 745766232 941659172 455148225 736422632 442709069 978664945 827535946 251797563 832616733 990253682 951084358 405918184 614005068 997638210 518231716 391895806 761488591 343292876 304293637 475776622 260906496 453831423 753946779 777139925 201817304 479072965 905238071 379444247 716900244 235984734 863955863 681843910 138697475 886414838 867913428 602030985 610970713 459293777 199431278 515526026 724812994 261994389 248449656 799749769 513816197 343030733 488224036 177279367 461953282 790169135 269327474 971638705 141387340 351002964 356648512 364613676 433930739 382005970 969234251 337265428 895878636 270651829 639142490 650968622 500657194 492417611 560850724 222803956 668801948 674615347 381835106 197380464 781529305 341791785 221230367 300875227 260184253 821629045 939461655 117107227 548250881 381323092 394630381 222795317 696355569 455659335 874943482 706157157 981275958 621220198 905113887 459751830 565489689 986232540 630416535 347644694 818065182 856492831 811342957 415667759 665330483 109059167 833516247 723221108 736547680 821235517 185900606 716251712 312168085 332208054 160606071 178508273 467855069 693714080 304920341 179633121 694174906 941372396 997817146 783624826 857282474 938935891 821077053 802928203 685314489 887180557 616159644 193892122 423451394 807601189 122584119 676271050 849385482 637532388 818195949 403239395 947627071 827241015 700508274 133608766 231053759 551503181 129242702 691986821 993286989 264581653 906056778 452432024 326205142 542555288 609054027 751487924 562380227 455450320 275014765 216745196 636635836 828409574 617506796 316303733 294410587 721783818 995173479 824292271 436337193 130910778 560272822 858948353 131505340 684686722 122366252 460639978 998439134 772994156 225390803 685089803 464619744 538699995 290119120 716074183 693535423 280169049 606221884 151493984 584710539 648886727 586469644 998378280 607684285 208446041 901875606 516632944 987356184 105860941 439240416 548649464 272057111 333387207 125891126 605757220 434930457 916478143 217470259 240762848 468219900 556455008 489401715 525466036 243780103 127330032 280871995 607317148 708286442 523636292 285781869 425998813 163382813 672048105 910210787 795279916 129014253 403921193 344484970 506801203 577185464 966633689 728939578 874939297 245500878 126398904 153529592 441601520 298001979 347649292 699960565 644261547 852477064 193103973 566113934 230096102 172600014 517490361 668690637 382207630 425987508 887930953 139564184 926390734 302382257 436472617 603626287 563439130 571570001 579822780 141124062 638398352 182447924 830637436 975417116 328023191 498788545 565741703 528080779 653954990 221272610 256202733 160944443 188353265 138960244 864016343 110423422 831236969 491063622 884789252 713386726 171092126 867835303 409387539 870523382 248931092 957510227 937351947 496368466 561992287 888995804 119680622 172048667 342373372 710492066 981944809 896476013 465816782 880498039 997825238 848248245 206458802 133772995 655500797 338603039 720920571 509925933 906100091 788799320 420154593 623653681 654225231 241527159 788358627 188748798 597047611 146951494 757927219 471149018 352756894 725648775 976181640 746723904 250567069 412471976 163916860 696529312 317973708 246104688 835263950 633236903 517644256 349473091 364207601 441883797 562159962 355078387 147888667 510019937 827869374 730974359 802975697 762719009 551800852 256670278 448288635 467430913 891092710 653911200 748637841 171645314 234053004 622505685 291386378 555421837 220200943 153722081 550998959 244950660 920241084 787972471 895988794 181061663 951007419 716697574 438493033 848513303 793612274 165346369 538390632 202722283 644775012 471794308 367682551 433864338 150951380 232754997 589170766 595003154 123053696 414875006 946108223 907725573 148519184 855263643 113049319 168958906 489750899 204493080 310962065 399412571 595422234 195964504 631801020 157760127 412858002 862302044 849696429 947712773 773506870 901414645 886969365 217649936 829480716 192394076 197325400 377416412 623432338 648397506 667819379 875858924 314954242 405928605 944391940 186561750 706993140 580123110 861565026 865248228 578365435 746505296 239392479 209666560 700361309 801687957 293653021 173691019 127486184 517535158 727464187 145056607 356812623 977381124 466791731 955848886 212314010 651255505 612203103 776207194 447343244 950810382 239873689 500850640 286017108 168170374 104183456 122181757 597150808 286144046 661660843 308912189 785069435 819832526 572406645 697438111 880852417 405798579 870057868 756509389 144210392 497730387 262709315 779322598 399641314 297676696 704670441 636370632 966045185 702874951 751731611 227323942 357610898 508328770 577201757 833394315 378972023 524192910 761117414 995245401 108496769 192809208 753109375 642162480 920950568 822376746 843440860 959310946 697376360 594584425 502604653 595497720 391715478 883598745 682273874 653763230 828442086 304663582 233075629 910803971 347425612 334580024 676612850 362958353 838942429 542930682 514872001 617159398 855493991 464870101 113263731 991361992 955129376 125176450 699137295 350596896 690245779 638211547 347603776 951534219 884838307 936122224 599293179 317969196 126308006 638396398 125268326 417075380 758294977 319075153 460949759 630808035 940879309 124078435 644944253 804680827 563865472 968391284 713125322 126495506 853909984 443052799 784481920 388784351 728272384 137431294 124679044 971555182 651244045 275838606 209634604 280563180 337217124 750364164 645465492 686303583 397046080 450058798 916254092 630349472 645482724 212428424 493145258 931245267 495734775 224224129 627207581 552890800 839184283 909284460 573701480 624898251 517211176 435120293 751074784 147502389 874471939 725645877 265396714 695117366 372236750 572470646 685485421 844051887 638209872 951037541 379533910 254945886 507989690 661188221 601249164 474405264 686756519 687797612 403894453 927561314 650988275 824872615 201306725 832228150 839014642 593016999 817358233 229054182 515880084 344713962 765185836 162811226 514379148 923413457 333951295 165902363 296250591 863309883 429553135 208197099 165285732 243649596 350032672 638448545 917833265 976685178 808467557 171696551 278465057 821204644 740799680 741180523 524863622 971019325 293545805 484055389 889922244 491239182 657935196 175371194 850667193 222502551 522961861 590082619 366690336 444454212 989502798 417438544 969079896 846295553 105878327 448004758 395893193 471594150 250635403 802873322 461068627 753402215 789429703 923593289 277138010 827222531 151806271 889098611 273978691 726134839 292694735 356858672 881548571 980956486 588735838 298395359 801407369 673745982 230966509 962655227 880547845 658845150 679544190 378546150 995533502 984333129 785268695 321081074 694137661 808020665 315988527 267582559 513491648 457797646 946706495 537668399 221385259 900814771 976749581 315513420 435332629 211259816 675043465 201484505 132344690 498660611 210947559 747363641 644966670 325355849 535184261 436010645 738102264 534146003 572648029 126735632 164712554 942123782 779760071 848232735 772697842 562782275 609433511 487401378 466069975 695501623 121571246 520788589 447812739 731785910 499142104 951947576 462587024 798608522 492855123 166124570 253278727 295682240 719197969 117702336 135358075 766410006 952931293 785882236 160170301 418141747 727365304 756983425 933798621 237617621 352083480 604733799 405492623 281992587 318014548 169058168 205996706 417817046 476000470 606051758 525841089 216352630 594704316 116682137 874565720 238597487 368874597 740399626 629116676 856267390 600881770 116803813 895798520 997360418 794925373 288485842 726272826 186203762 953688420 146398252 523861461 195143844 633924968 285378888 618790128 113985801 759328062 172374555 171530345 523744418 740368938 176046630 779380446 639020378 847097114 562158813 961788622 413913611 509540954 532591176 904162074 462169851 857394894 971087640 177868064 655100218 722332838 476742935 425237710 401945297 398627557 633411727 331565204 787147955 510157052 614777853 114566759 215009288 370572464 505372495 502026504 379302684 823413143 179752178 608829158 216351558 716234077 685205260 232593834 722827823 921583085 546576649 136848737 669739641 710871779 707701163 739571872 179171047 181658423 782151021 243462229 602942934 818088474 583270382 547107807 429961264 610732450 821271818 237278435 267134819 616600221 328595595 775778369 193187981 509904051 327502367 410470384 694766005 202861108 830622824 242556812 297109011 255500429 291635003 349048920 785683932 998255109 300739258 778609596 577917508 794743011 787176628 362012848 602479450 456689921 838133076 318909342 744942716 601150796 328676407 128618445 406836488 772831829 334292354 465430511 100793462 642692505 248972965 939558206 186898789 514114175 683281851 724311819 802813499 927540736 836596047 486801825 474800639 701994074 763736552 624332930 509066393 670391272 179846166 312313675 670205149 895204139 755398640 690301884 636395744 184767187 102279728 593086125 804120178 362301580 419338674 716529919 151934313 864950113 634266397 841680999 312040045 847880376 189839413 453025761 241199475 150038882 567218613 350316649 696580753 198093504 300193639 892348386 806345699 527320183 944920682 768662437 198679180 385007832 236569377 714894281 410447575 861161294 431246414 561707065 760877794 741702889 337733031 922721238 874287850 652613805 972493953 138732902 397990044 270421961 988064436 290214702 184718014 930132452 554711771 260460038 547067820 137964937 725162503 320289321 741036098 484830112 436339353 603470041 713024575 232752476 198053150 318076187 947207144 552406881 166129581 637022056 513278914 413619908 418785933 206199169 408790593 564413948 680517030 761102913 920772792 724698383 340998517 253801525 601987977 971007364 428660021 718229156 626482251 128950195 831597087 118112247 764513795 881546350 715689481 347202614 865010787 488695192 212846823 991148937 330059212 170780112 671428018 677763860 989414463 433529420 310375398 112308303 785144639 390143253 473626954 547541920 407594168 821187076 630603206 487168040 522081918 300083473 921484030 563551396 198080289 785249976 600770227 996934787 437228062 602045390 130408925 407665868 270249959 491412155 808502738 425188851 982521271 305493633 535933749 137987722 455126006 113446933 353698764 332634875 461421718 829401255 300521487 796756402 498687208 166408408 684133597 162163414 613380895 214074683 525818805 195499361 158909665 299108232 348798169 687933165 118916164 546471930 261595280 469383083 786355616 396086367 209915220 159534335 136418914 269825142 139284285 347164326 425107864 835585306 794752527 848453787 142585745 938338686 231460460 348247694 496390346 961434194 977501624 232232437 644729016 746709969 347559948 405200805 322729044 232828168 985151022 727365696 334433866 571060721 852984289 929978454 261030063 960308458 333080081 501654128 529484648 557305826 943282420 937244033 202124303 515667101 677313622 238273340 328682406 244778608 499001222 825841121 719205474 341680618 115152719 189303839 944184853 614519736 796192600 550687159 292665041 129115218 796783915 732830921 734078881 390327505 511463788 729025089 897403153 830101936 831711265 541131669 604555243 924050461 299535869 768493108 859117955 920790204 168314836 930244618 601164598 884922813 710214750 728141783 852078739 632023734 183029960 303399823 157421470 485005732 238563925 575054757 189076643 578655734 489925310 635586319 993170442 267191719 691483980 255335170 833518495 194702017 105749079 570359075 107996266 374415863 357499215 282170402 152814574 411506275 928040228 390678441 558638911 665768167 449814451 784883626 370988584 161356777 689292125 186081621 752221105 283645632 696622454 487548632 435830453 446760647 562662844 389757214 639421980 768670492 452932022 649441853 860000156 201674061 283277867 103105321 788073715 756150926 190243531 314297307 206557693 910839174 815297637 598963270 893574556 713779800 325323046 893926795 528904404 227044856 979294361 188550169 902864472 831417812 202293627 565799883 564104635 426195428 252867413 263568096 777334838 788952122 154083192 797370689 554970726 854331747 531689256 214237988 730608350 823169717 591706674 670466117 747973853 960635820 712669138 806612145 512879651 909067421 139179390 192632764 760171686 288148870 176333675 678709892 967084210 182074236 892187283 784204703 751745762 883605191 844904913 504360214 897718305 194198927 334234757 245465136 828084124 704346993 449315848 910242549 686817354 794646831 874544846 285353257 194561771 487929586 680109273 781912275 478178631 329375190 254485086 140327626 400219728 277552256 101634878 686564602 601099333 809266093 905489390 542151016 540314151 674361164 153238170 890664286 224968683 661167745 894313523 516289668 139142972 478261325 136305369 232091133 771362024 930987256 627049159 278876717 771952983 920203769 928665858 232639948 250825849 819935898 953116245 628736328 927176594 202972142 739533383 300963232 629535122 901177327 406111267 756719653 990641911 843242531 498493544 991459162 471955762 684782972 715941225 759509967 703349638 925904481 241264756 544789587 864576988 278172994 824615429 132808246 406811901 924590583 219821489 601763448 471718418 298679059 539076738 770681227 844723849 699697156 108613960 265494375 845808333 515076334 642697333 544790880 322763624 390435714 723259962 345686264 381443448 326096238 377243613 663866394 884033830 279479707 658123570 247557136 724136124 491404997 392796509 614356857 208342969 335577737 107394080 817699186 466397542 684997703 915637738 651226896 875662625 303780014 377292690 463165740 681221370 469671310 775358138 670002307 650240489 722615360 236335241 742464810 587588337 262022487 751435598 117016534 911799205 693020022 980887279 862647209 368630844 183756255 533143976 210518498 349545919 378283575 422229133 880398086 615899009 899197522 192897943 223312739 902505831 859408895 989212440 720784722 638298264 921694131 884525306 160910104 764182833 141828970 280476243 617705226 915519288 613994533 366821651 959771184 846605823 818572487 689287559 999783839 891613699 445507267 236659615 679200785 694843020 617120213 569809467 221595090 561505124 400503353 687431642 545379068 275416113 891274293 829977627 161540249 118791441 556354345 477204330 400209428 425311725 385309920 277094078 719154191 804054220 440715330 915795773 933870626 671026974 498359237 863623311 230610581 847454849 948607807 368926542 320802484 744104535 758112118 792915303 321163847 241092471 643868977 155838207 459523904 139601300 512389295 174681390 300421001 390766776 198048950 958123377 337037206 102337713 834143517 117543785 349926445 238230461 953992597 805979023 578483143 463500121 114972487 754487110 847367985 316538482 366838121 518063410 635474018 894025020 341750558 218081175 403044066 633042450 702159235 689706850 262878111 486645378 169292038 175497418 140234900 373172706 215887081 506615553 270433616 662443049 539883250 117957017 152954429 452240109 547168934 428508938 785391686 940054080 397907453 322420359 645030237 576846888 698023856 346904772 726894061 928268890 971301453 392266752 354628070 766599768 925614858 568947548 853565109 905587581 507226626 473628752 108868388 165318638 342563840 698920527 449201776 311140316 156102213 538072948 762207837 298015059 459005347 406799376 411693571 530691307 633046797 152629353 702491155 864850397 181165383 797140806 837121002 362922868 347922336 787428057 804934999 603389626 906673932 814116446 550923181 748148935 134373361 989177815 420426363 754750884 527557046 799339195 596079780 980476471 674348524 548791398 402313428 760605476 347477804 164901985 740468756 601710484 244756238 472885575 421684644 232719561 858565006 362077397 621553707 339019231 204729161 957391178 816079296 202409768 477841669 108347977 574415960 844609824 574963390 574182603 645065386 931937702 919569553 861301396 420420326 388717529 300963697 566550759 556452106 427867881 916054110 922762994 429157390 716164955 356144978 480308020 628175290 309242529 901442308 774852023 632352828 625725742 286481397 800160979 161372856 526783275 748172354 764805821 814253888 249631926 665706042 826170364 441040437 625309636 454228717 590979356 592662407 352092132 289584748 140285723 576393549 354690815 918889273 158726241 486806115 830672362 858817700 630170321 488523968 280344034 103083333 417625345 663133247 713595126 256207100 585701615 470772906 186242090 491899411 605221999 783140296 975135270 234515907 945777604 450527390 972928371 312468249 111502425 291613151 634859711 438165462 455160061 979486470 536989403 967320948 815304278 710900297 356222483 604057481 223901294 990720162 756138547 594041125 626519244 159450294 621684646 773308626 353923103 449218377 207026836 221670853 913729615 742701564 486197342 894939323 344544819 697543869 684269998 148561401 673488917 276165005 848234111 422581559 639627760 597851850 465039869 852917448 334517001 707249679 826270522 164890060 402996830 459269386 917323370 365453719 713905687 817848413 428789057 499738799 191685851 430241853 570961652 977206776 239462422 728966586 430798799 145461183 179651160 345788251 607210569 661699587 561900193 601932424 357014116 336291317 519242968 828077973 631599997 911710663 505925279 944573771 536311038 593140853 669871724 386778316 846276591 405578078 378826353 660669518 879357626 147937814 466841918 634639673 503483988 824147234 782584667 736811744 714766020 532909447 115965880 199691868 205356378 932888437 644179153 743745034 658825134 251105137 803939708 241255055 261183173 430566552 527958850 173284430 323139716 979121534 548121987 443183775 306301459 637103144 788570956 463718527 720585515 356785718 192419614 108913682 596895095 348091856 289857103 447818069 312965360 352964501 295285739 970744042 278111121 516729299 975901764 714662010 125152947 613031680 337535344 961763465 634102692 804860836 451643475 631224065 430416579 671179902 670049085 822884881 994479193 472612047 448386295 399350944 989303035 730953788 876588603 197559577 578985204 898015865 934531049 401995766 348075869 322426533 657299052 998325714 606984198 505435072 728812141 956268134 586067004 351894621 750185597 552871038 268073737 340166171 871022024 519432027 231365391 644249324 339577270 604748017 344175534 244961096 926869059 914537531 770023589 139365535 342653193 178754131 608742795 284616157 714569435 883279361 232428682 925844995 566183737 743575706 617920393 227168939 388310021 664622235 332472401 556599065 250849336 336608700 203099092 635540283 501384349 374133756 769101272 753901322 698122453 687172710 873587085 223206548 460177609 571197373 548882158 691777902 641787634 211884258 567488298 167541811 363186001 612208790 389419089 380098242 534325884 721814306 740428111 117470588 247359951 562001812 861674569 105704856 984426902 413870505 155529883 133638870 237114442 175081110 601838617 963807623 308788073 318726069 406898796 628611703 453364299 155661366 556136227 283362356 333493964 286376149 692566832 304793491 484672996 717152142 578246954 583301194 186424957 473202197 587285376 267572637 523760191 386796785 485112852 281097928 932012120 449409693 833973273 598943594 893488787 862907941 608715988 147841645 802130563 367235070 885977327 968426318 441571080 369404431 772908527 673564290 497611074 521929102 738635061 100517998 847464557 417647568 620433548 620849191 480557336 312540363 340832465 671012711 507554974 632680174 380060976 476808769 508264862 856637721 100763592 450498662 957966279 910617452 297774220 349360818 857977532 677962224 418692927 380986891 899149040 269530966 715474161 508275085 909290960 318547214 985741495 978844993 609172757 301761796 790812912 266276769 281243866 113547251 111022540 189425675 229079378 689277842 728005772 370421242 649696291 508232741 298661692 723039843 948986066 177790747 819191701 745701418 499663590 140419664 186306318 473703056 757039525 235446596 990052245 201346532 806062802 343953281 673548440 672669452 937092731 455274802 941671002 213290784 398643388 798194106 581702524 292122153 752868531 508880394 197369608 241651699 359336641 343447160 446451965 576845702 411071948 858013719 767404046 262848117 978979883 153855719 908091265 677120219 842062512 729923349 846170543 910642800 307754197 719675178 254679249 819620068 623999019 456037810 462814567 337470577 795369352 706987074 644702747 440531698 127849835 431565902 254347906 413866328 198850616 814671310 821450380 350003752 743461394 751315066 315295940 492678226 894370893 238260310 394087889 263878181 140517316 669978383 877100887 603730485 664250134 167372354 414667873 643153978 991174888 674441612 482824943 607344546 796213323 803849561 639084263 755699368 213449279 757393409 964659331 238157526 709621020 278916645 266369489 563955215 150919138 168200163 386850795 240582003 466644287 430496669 890697479 312112963 708377777 274043601 737645452 155164496 737331246 342594288 285349210 938387687 648399988 632196207 327126079 367423697 261688859 423895814 317048768 926689879 521297632 957530587 620207661 740719691 223792430 571543812 847012314 109887065 669334344 683061319 632429978 605853918 526522579 556524967 249736480 203082032 953821248 798341649 663500454 945927155 539946764 115232871 943098433 946956525 393149521 112837103 618135268 686131203 205864213 292685172 806071264 755298330 906357702 270507722 821903716 545984701 287732510 730597118 347071083 396539317 947933008 664577730 249094539 379335277 839200154 960107965 642255665 260882485 819982038 791743266 631681778 988255306 328567088 992389714 428456604 405338423 525914262 290236650 891068647 128321640 359768733 379754589 864295668 139595581 346713505 907486945 368720570 978353932 122299708 669806372 408067971 416394171 274049393 533055397 716349001 444762048 434911121 451772458 267506395 117601830 753485355 311286206 959031604 766166821 306679381 896550349 338511575 940570436 641711990 523285974 664621914 710620935 676881953 823354485 387657085 978349875 342008424 367920807 236209008 141142421 970642385 634741621 121776152 109030315 863923961 239574771 822321518 379439343 625322286 678979160 632633893 886685738 739528673 635945204 611768566 184248689 539748157 865566180 346972486 954250371 245434947 886684506 467666972 476600636 646562305 528926251 306741643 995659611 692408648 542166488 466378468 758921955 785730395 961021639 389565134 874230478 667271905 107883138 943976323 897474927 722134220 206106119 510113859 137804839 792924197 577046124 286618065 670676371 984223822 398631581 929778780 819455869 777010840 496643898 621101121 937845453 897535367 379089371 524553907 312002736 501447296 361170782 992332594 125919583 837344166 865392851 876838343 833711700 595310891 949596955 920688607 819908049 627484965 759804459 120577092 827206297 592354513 115342733 169209608 583739364 242038691 572189700 441881173 556958809 657395435 595557443 659959895 151405719 619109791 557731364 295900907 895280255 833554983 540171694 927324458 595655930 592295381 466708011 371929560 566364579 961007454 919612968 328221694 877132902 128113793 843484524 824272517 922558286 947454056 219218085 618238984 368640963 125293390 868056913 504445728 710012703 118040043 327304845 378036438 202329166 530162828 113076508 111279657 866745172 349854700 559028567 737862466 137031447 560574656 618092520 179421766 559191894 471803709 714311066 343716409 393022511 188896262 557059185 106269478 679843119 853545000 923126023 440964577 968429796 384763602 211837142 530382531 227223824 756500643 857222662 615491613 986218146 854236155 734103724 804600703 441154862 163414197 115262871 179362008 532927075 904565918 463600954 731648867 996328248 434984188 331172381 478680347 556806537 257045961 806846171 978811916 136004642 196325374 933870410 401430020 616754775 365723604 954127923 746950266 469114251 769458159 336894763 129839481 697897182 399789369 869423984 702151447 494716541 743642051 491568394 350124108 857247056 539173469 845946078 888249794 533240880 476768661 284081116 966009434 276073698 850644284 838031809 490858476 107551574 901222841 239270323 898992368 825911281 165446712 984120574 299906874 804888560 567617040 925325334 975770187 438407509 884420349 262610798 185751558 988240141 757544981 100266505 825507167 205994034 134002807 586040722 689555920 166067361 413553069 597445377 434441422 364573427 929514580 678699255 342502956 652604387 769803586 734919523 790162975 214198337 798368006 338347486 772605952 310932301 396659265 228915185 376584323 572275803 449344131 680416815 159192110 447427394 600490027 626101705 836342925 270104894 884394512 578283693 737117399 531329361 589276450 350492692 621189895 391011308 750002864 254915919 454180689 202826243 612126618 518202403 804742316 161291363 382301120 555746534 401415380 654337301 864209184 978443449 878780219 349257454 678929967 315907199 705532547 203500521 242189800 666390406 180976525 705684460 822190565 783719880 178112548 405494017 632245356 515681648 687108315 862921088 952152646 886990140 118318791 816507533 659092181 696779361 693927471 747665617 408184784 356561501 652174368 718187696 801498087 417092785 379296995 235239193 594977305 418954423 506244596 229300003 306167727 622242212 350977702 281228894 164259730 991577103 425032797 912896391 955692425 815341019 210296260 227788053 716010175 623963206 925903202 112120826 256812572 532625064 800049501 103411711 230606099 253592014 684836106 642822718 178262782 796458839 908818196 783583216 485215193 874656997 476100212 350820079 680963230 868600183 588547276 295154634 666656898 155065572 805966176 748086697 593743726 929436259 676826175 194150857 550378656 219008967 671210532 874863843 611911325 595081965 897647377 407647301 302667508 869875744 647777452 220477580 298536059 764924857 226817750 626871210 481277582 620592864 409003555 707366996 880192371 201647628 383511996 680382431 211553387 924996677 744746825 801228571 725140029 441416980 342251977 788910415 219653473 216154307 523364709 285531102 861456717 649089875 135287292 780071443 718039719 872823684 774162364 343579826 149294319 585004531 845574163 758385951 612393704 970604572 549687287 110766573 993665305 558072394 436966303 862953682 530374325 998402378 727539169 589785481 835991712 218065383 118029344 792803617 491489016 308679257 310865930 844532700 600884636 955534714 480943068 179927385 596604658 986420758 269317513 998941322 550881612 854290549 786434699 115646650 723320270 382828640 858572317 579533180 929217446 536484391 724939560 177505612 129089256 131197436 368615533 204776061 476450791 733212051 912067760 519744426 470246000 687854001 272290241 123651308 269756446 123800227 746716488 879327461 486972953 761837240 139669657 726945739 686252658 803016011 147267230 202224278 893905952 624568134 741999870 743820570 488264227 229499813 964692852 646367848 864852583 844159453 597520047 224707375 280826486 586742982 531074648 753123317 766690486 180759258 844648637 286929604 357173336 956308050 189272722 547145174 868050740 919476215 568853280 774653168 771976613 969636539 196707896 501922049 643405356 410852011 383342176 697443503 315419495 112207893 543184682 131092277 220518196 131760947 806195322 572621901 108333393 440758487 956785277 471268471 645059428 218051057 983441497 495508877 428344238 381664818 442724734 101006704 924392751 485459101 777669933 127446364 428944322 329413667 621033216 871874402 935394273 801881623 847622098 983423980 527830677 555227362 485269130 900757972 223919273 892110383 564862709 856020062 372546232 944339163 516109785 854652032 784650503 412868513 541777996 947544220 962474621 345421833 308177544 745439728 116370311 294137677 169550740 996638088 144032898 210330688 320408606 182339916 361503920 469508135 786357207 318471634 538907394 102758378 324800906 896221498 783224304 826544551 892034328 325109766 599623832 787180596 446471945 426898318 968673849 330876794 303150983 308655573 427006471 415204623 148629167 791667811 480338570 274180462 613024257 571697080 140885032 787926974 165000186 903941859 516866174 913230466 544834447 661153649 127192064 460824846 410440147 625209390 470539028 350541827 289321601 357995893 513473074 450348611 744722292 384399109 571831164 476585293 642803235 271148029 420988686 291254028 354553895 894279333 741067018 543396999 559260908 413614345 244982264 664782306 697081726 563384953 388531121 814329094 141341764 127035964 662366712 658227373 355800915 474617364 470880697 244090542 108792258 709690131 461498436 975738334 698727819 926907039 978637470 576210523 339922609 622069521 753900873 590321878 268550584 567469073 985540616 936987273 860595537 638151104 151769271 293646093 653397389 661341064 308026939 715011025 351656914 837825430 300112837 829026637 256147137 369924936 320413573 401760834 355581770 925218525 165640036 524239824 157142176 527861437 914437849 222807405 839357705 583126012 899538051 985205762 582746217 765898448 915302578 591951172 857426699 903446130 452191700 194151505 729285209 829269044 413788181 532254491 885901411 112550020 635282620 262228374 894349790 529380322 546460833 119127703 599441660 101351762 610516536 762672955 726592137 545577129 605570272 835171183 941780817 806180924 117473801 306874179 675887287 909522608 662518030 923009969 202597649 845492156 611988940 272813350 601865550 377945555 803366250 686931609 263690143 433700477 792829146 638900311 538555070 754813865 509292884 606411355 714580750 804817488 822381240 477662244 608873849 271061758 753720491 722373305 531277699 610892133 816184667 757258385 297125131 369034498 211294809 115501807 255229695 848366886 457796007 359900470 228567825 481826140 461354962 678494475 338756888 172913253 300382211 392371456 407054185 466418335 829696164 764762769 188835794 903385438 544445067 797173948 592657707 313691638 318692872 666247493 347657881 864287551 750175480 611028132 646921798 818233183 844769098 167653613 224884622 695633255 564124056 644603802 244429179 585313533 485988582 722683334 179862858 346320500 221064241 236386681 730373163 122655546 264089056 883702852 562786486 627095945 634483590 206669083 982996873 743170642 794245196 115395646 535000991 792412845 172212618 229486582 910059400 555145753 130371541 299300945 606108611 586214222 682101614 637798556 114877927 955719913 372499242 922659878 169432953 575811374 402382447 349366494 563338380 925943467 138747419 494899492 997838697 441607599 487033771 646203219 787173708 147287993 984247382 875461135 261639131 320847913 713350363 796095116 369119915 526854428 394830939 831389711 608222765 886995586 261756115 335130334 746927820 950753444 227748201 350529885 987218825 967267378 163301471 751785639 259986303 465448186 257394948 704109437 981590424 964857601 511219566 196033836 578334190 275079719 776238102 598451393 254331309 889009630 395728199 750947966 597959106 298290525 290035763 885833163 785660050 262319004 923771322 941893321 331169822 872683093 853932665 207684868 717797977 878857226 933519023 772957058 999624080 472793340 150177425 465058747 451346885 511316234 380489890 729429321 708875574 587176045 772217070 997448523 919071540 477848380 331525458 531257679 943366049 307706706 800234952 300591973 673891594 160988046 549194916 801891015 124250025 125732312 214369856 557378040 905243152 418577289 464876341 142028720 991109806 469435897 995248143 873079231 627027690 547007536 361220203 771211423 458533790 619165737 210671998 135106164 874814384 543555412 580326762 619447975 657318824 704825801 879183076 250487792 535687476 302046224 617070036 851784445 659462622 510156134 154810476 658799342 864828406 812197072 806688518 526804896 272646506 500343384 659954927 309518881 909069503 643524413 426772616 400586558 501274169 793538566 873687258 324087699 866218484 748013890 985306477 135967144 822458527 138886990 648101435 384791842 168748135 770269074 597695670 324063117 111851492 610279993 822725849 759317688 503572597 752750752 804434515 443017086 713684719 951522827 568168836 647345086 707126228 342665832 300469375 419304795 149925519 122208252 652785305 761683223 498475167 792478809 888331637 855560644 510711054 570428528 725036007 215464533 682188847 861231620 780120717 521873469 936621752 872652964 816916264 925801477 404126902 959143474 202529222 396975447 526361284 981320289 577902702 455320823 468517322 229856540 863417701 139043628 638518381 186679286 678920692 640662562 892691335 831305906 178589496 820287379 618000810 407382818 727402357 220618172 437543352 779931812 113076446 788240758 688121232 533245201 610628277 634205807 174688821 823741537 247696790 203380617 966997664 829086950 504071674 794645527 108130547 852287319 641674575 947987578 867744830 600612974 877430360 221498898 636265090 966572463 409968653 325147162 326425304 224269531 451842217 665330510 426351409 874213179 452296618 138357647 292477417 128175103 586890652 157078513 855775055 343437453 168480497 173341574 362287450 105391257 146887754 494836384 570996171 330695014 428443486 531162728 571749711 502437359 201580446 251009006 729306265 973396163 582260526 493867184 197083168 490503457 277494643 539233341 440632439 746208196 566525752 754319047 557517080 763546106 942603893 245360153 206988483 362556832 904605350 315886775 256914800 699859273 662292396 798418097 377637243 170890694 137113315 337842052 493858753 284962505 346007735 398522198 345903199 137948912 199627881 380076483 701226775 239188469 185764855 773019582 780741385 893448677 155369230 883661630 222617359 330004000 491302248 117092602 888178604 373377785 559700391 952348123 708343127 764075924 652744391 829493285 666163569 786807650 325733270 654108400 721549536 831006601 213539196 780279493 482821456 208388127 202582289 633753237 546839316 339239861 515169664 383819092 982027881 919206072 786323550 321001399 737980253 486945614 789751762 902787526 362132371 924911914 350864197 572128827 167384298 560135915 868674453 248470220 910080752 156220866 516025374 162948919 772693912 336775971 263235651 639893371 628180996 443285383 681884497 402049834 446218945 203336916 142324548 960306946 293598927 531339342 851408189 673200984 337369039 301136614 610067134 995353197 663291527 134215367 712163164 600967273 765200115 377571383 764770374 748928134 842908358 600778841 790318170 707955187 811124367 940180287 373281676 713734849 643105659 823875415 268259375 999570315 811533876 104613381 282909179 451472268 932142456 126269154 185168089 213089134 800705265 210340456 181856790 476435203 116367290 201028263 768534817 102448153 278047138 969559195 320836206 237957379 389984022 416864276 826383568 516886615 930875603 501573222 556078495 745142293 544295906 393145583 179247056 643321329 801449961 258243943 891305435 711814241 718427473 302951315 847294802 998507920 873302096 322777579 940279267 438524700 685276259 861725100 698675032 687353728 203763863 184220494 307317115 958537689 335720964 187069344 573513482 761540434 987020567 534722688 343642404 359147674 798121404 549057112 369005608 622640190 905894143 285806760 344463948 149400374 903586412 456888947 896437645 364015703 745937112 329224720 359225923 879102010 926634653 676036112 481023287 797699149 285428155 251127662 915120912 439332681 556138325 772274607 445094161 996063827 569675066 381792547 893735313 764619119 640800412 309246986 819730323 459281937 273654267 716651372 210520146 572265071 504889036 563183439 813535415 562066022 869402358 114118911 866526055 376525276 292574117 610467710 722900819 233182693 608424143 575473538 735514796 882942221 380359742 342905709 455147381 733446561 400430563 591608075 586154310 765840143 558120474 941478999 150745822 385134610 545989715 248753050 440071185 330232634 829270272 463889900 948086328 646125047 167527901 748252192 463134547 588580039 336563906 985865229 971993145 483269989 488798640 898965943 822044501 509838499 190946587 734203952 491877015 211374350 911740902 598844663 852922681 815805008 895202985 760121294 155291792 661972592 232280116 846250558 470846679 410916683 235093386 239423294 489528609 143670727 874240403 165372882 320861175 147672995 627494650 829811384 552898613 434239641 839306058 967630801 770081637 450548027 755549686 858832052 976718742 475333587 253071115 104670960 396988502 373541234 856704118 494902863 352631271 899128774 213789128 900228442 739842706 721500056 909934547 853750872 921719130 686982318 812460779 556459682 495799315 445009674 281013495 522287671 235173283 336945314 473311845 518695932 552753568 357390619 850127907 466451185 140641128 736300647 612923507 514051889 451508847 825207851 234055205 541747307 780268231 949564253 618963748 552665517 391922169 316509868 497843269 769890122 190761183 864007839 134616093 629645432 828333440 404931141 964368176 656182009 288054084 631337168 821990218 231295196 814485815 547437365 573500904 751643441 436975750 218168766 213718483 894681560 401679724 160068840 961849186 610949601 492175983 251977809 831405074 290167933 226074710 667154321 191875704 877724880 125357231 656187155 268264480 188944191 967458968 666713983 292064294 811245033 501684786 612223085 128888408 100255011 464669407 771233426 968710977 419724130 288724574 529809240 766017739 318969597 928894729 560946248 888895458 348539841 218440817 163728585 502020600 575605387 493502755 920541187 563256450 888546732 281850818 762155051 447267849 667110093 921942574 567869361 400064258 837106259 142565395 704189260 578392374 974732228 965344857 175914271 232847872 465571057 742100644 886132197 510278858 810530956 405787420 156509984 348978224 113930031 312337592 310633293 655470451 705888996 572974608 897309518 151633639 815199052 142447626 369690200 891165878 181479077 883439482 732078778 870160906 610929691 935242694 431291062 961996155 714524834 548553156 765764421 388809798 881699347 441654030 521612026 604450725 508303925 249352317 211802990 560905044 588457893 108072020 112954823 627455783 372601208 111173027 735301114 640360857 392984507 887322304 368150259 334347856 664073227 563381372 763384266 137127215 159965423 634060313 565186067 738166389 620645272 317216511 280880698 511850365 716134152 277676741 736960590 564902408 595940972 656697849 835164602 511708272 117455286 371686404 297215979 577023455 335697526 550753084 932181827 881953758 965191211 440611063 635169574 408979495 917093097 190858069 855879012 811887376 588183267 862209920 768458819 842802983 183045618 363215582 216222118 953622907 899890091 607071943 301761503 765286537 293091143 470887784 659416531 476475045 747785720 629331908 299302735 401722748 231808475 971416972 711998391 543203165 266493068 626594663 701422204 712158249 785284575 531275977 833119865 919688463 711644287 864076692 662158461 142868363 827114752 105123189 185147581 468699999 640898632 561977098 549990536 721282670 120845590 633793159 487944838 884871207 125721459 293038180 316190234 967009010 995236559 878912756 535602619 779478872 432813750 781565114 211330359 971364307 307501565 778857657 509491716 520993329 848702914 868727813 233068810 261596872 414906600 346193823 329602900 446028165 443323477 333026545 698950580 537132735 975544162 348480395 388705844 590572148 524066218 592438938 918008404 559383848 528651584 361933543 442770921 165470851 618852934 337549883 298718574 852326486 922821916 866337911 129171127 691438473 416596705 993033928 133819929 680594366 601253833 682627333 654942146 991632918 929782842 826821825 707562236 307760714 514800654 262232039 527488166 575393376 120250829 538525077 897013433 149448350 195371260 823378748 958044688 802443826 737420297 723287460 323461658 798483951 431449281 295868296 165097348 931136980 677833981 345868196 878091931 818129225 226133246 463936121 815300528 197303276 507583230 280216231 290238639 849483722 822347059 159956865 997596485 277633957 168024083 904594271 122292740 214497626 255653294 721805738 639362415 624541164 443634152 843744575 914564941 231541203 100380154 871975395 816471715 108204877 956986480 805615316 148935225 390144553 205703643 995727233 891055095 996132418 358367780 768937955 441526478 623088250 104949952 853069045 681031642 352015776 759624553 646987892 132927767 360863461 529406473 666536924 688206562 803761261 802550337 560135208 625839989 673453994 366191429 742880146 351121692 818840057 451399139 378250472 269115572 749390583 318014496 657053354 503667631 105212917 220650724 397060493 562701263 808633072 304549969 182137939 308720061 813950832 599849104 215510637 825272881 633312087 887215814 545215831 873044701 948097375 352404290 739169498 430137658 234164380 881794817 427697172 628235871 355662765 740572359 365985501 253248797 468945397 352956428 912910932 537336673 448326131 760437967 630439929 941840199 211149165 382735094 900008333 871017354 385862267 342612296 353587716 415096186 259097073 587064380 117811130 179388645 959972451 214125626 736625552 233936426 506521731 137077050 538726344 355000413 101067267 561293423 164406950 115375651 647221434 388730185 105601896 734058968 313286664 898751148 663299998 563041132 997459136 750355946 671695704 567046597 296129854 512310118 124231494 795765247 508133070 264532705 114980029 974322992 841412506 586355858 122537885 627384125 166361396 607555670 234264540 910159775 952224189 317368162 508336381 592380186 829092858 535938681 940865678 556745721 447090526 821783655 757527797 712385209 766576126 996567214 990080398 310895470 537055833 159783985 595826794 991525038 892103723 830084667 365122560 671634945 346246192 646798907 139156796 360104502 484901523 444374072 197082737 730123168 688066065 134172643 941804040 591898331 276399336 679930078 752552863 624994616 608675792 170019752 495263786 906183583 315993251 223825047 711857582 756993545 349815338 509197425 485950176 935787064 695919059 997150892 907815671 737529745 723638496 631414471 816897103 781622434 881149661 772657647 475969792 432874686 881846591 756041233 846433343 468817878 740226223 320682845 234024156 523572496 200502262 784866741 763940780 231442801 378378079 264208054 243761400 687281648 117346424 500104506 329679433 104303920 288091382 971726900 885566487 771961680 808695229 532215728 733023763 746164178 131921894 614781564 751865919 446719118 370880687 989550304 900622905 303455372 362053478 312771160 497441928 493197782 538311620 948926895 156169170 646193459 651385918 977561712 201023446 420288472 284556884 578141000 243992596 984119217 722345810 856019197 732908587 594568088 832247674 149719761 266759210 673240851 393703796 336775797 675476833 365590883 763245313 433857066 619897796 772574492 713838748 137823900 533885525 820793681 392046269 503536435 792759395 566075683 141764686 831764675 781530649 185956331 529504049 926955335 460399575 687337539 307285596 788021106 590564294 682285378 640550260 672193827 285887033 438974576 404882333 364282022 277221708 119308703 834683928 382895888 515742168 631869412 461182808 660037059 388467183 416375031 509866225 425092157 776487061 401897596 163769396 356305044 969650187 924203459 339787130 600785444 435084439 904250018 424303363 275050340 308912840 695894098 467458560 337345468 566979750 617554703 881617554 642477368 417667253 708681640 456263861 211525805 785174535 832349629 796101745 929555231 630163354 804027745 211395889 182924131 793782018 815575661 458031411 787245656 509661135 610525739 586481535 380450196 129209114 791491850 987530404 613121940 332682637 121564604 214968365 706984961 146701470 204062250 327861714 774916665 188136480 900201077 195864595 423846948 488508676 428713098 411360878 720607702 592427886 749948471 449347581 253605807 982067082 190643915 710552666 584845153 617267117 991411989 877645854 585723358 991514441 677872641 806316054 912798108 515687422 242347107 454863704 558085967 972680815 844658155 415307121 817958931 321607354 121234490 676103447 778129825 629689225 262081482 675509465 107348712 951985705 662386380 777155884 704339657 984950170 752937915 344033693 527270973 785225058 359923376 509747659 261593321 957274804 330823700 360724018 783958929 197731300 178137944 864687765 424973527 893972174 746964614 499263688 506412844 586764319 322520330 693676487 972738391 373588005 518772447 401078849 157802235 572101021 493316731 754415648 878273590 688541052 486048952 462857111 153034560 214262426 844988597 835542389 853407264 792494254 365736563 239951266 271844552 771672824 439793310 518499779 777941613 209550952 709150265 174546298 767367838 192284848 279597049 386147085 865577728 511967728 255574763 274151234 913631879 318977654 106939220 638576818 303499025 719659666 489614640 598295546 281491915 529497649 342415145 164723162 242354897 145189078 391076895 860463709 776650599 268117269 858581225 389196372 124353728 556119798 506627887 986669059 893888466 741732374 347133933 452489391 688733473 519560102 602811406 763367884 418865732 732568466 105035190 268250752 851103426 215901935 256789659 216265311 405256496 115663826 842544804 579094892 136159640 345015771 461914328 381529740 960853996 503452942 105792527 541546636 323315148 620925992 251784720 345946461 937135264 342526138 304928275 160587435 910558849 446772462 585308187 840158715 995082456 390270912 647417081 405681027 981874510 719918441 388721858 934993103 972716289 480447537 231418066 849048461 917282817 684023626 454129548 728039227 114651144 908357932 416810744 633310923 641030245 288480286 658171652 960719837 516490647 127883358 126608089 991739600 381336061 887355822 494811703 280716938 393819770 886976176 957082747 354175647 992707965 337136626 394154684 321978020 257561354 872990419 332424678 508123764 539473256 308872316 502397112 483151699 412408280 408410357 227722563 756047475 891087164 826209900 514228597 275895822 524122866 255274762 600815155 340846813 787576119 652183226 614887614 677787246 903813531 774803724 543419427 352905794 129939441 413738788 593388977 190701712 439776376 977496275 995778634 941942661 328299431 908618044 116655057 465372066 385510041 851769393 413382756 635782324 697126056 440139702 540063288 138369919 978826889 636952280 187841454 195042920 840319576 905097537 985928200 219333650 781418646 216784345 485647836 950146724 356331990 450569802 255492046 578185790 833703981 164306598 468885063 369706078 153638583 138329929 142596240 148740034 156301303 296020781 232565556 255586439 641287804 599703816 102264051 326602609 878736749 178316843 216851230 817959029 745360200 231629642 556039905 224388142 610929760 629626566 402523065 646125401 728730204 120273717 517806481 159931447 871315474 984987579 939318295 816504315 842651961 940902569 256006253 299195262 102072889 777743550 812471645 655896239 850565906 714283872 961438912 336999470 148931155 389041476 829320664 489572099 670589164 445852546 875144082 728652598 147345782 894859819 298172034 134862600 311966048 126567918 217300791 860849109 133405510 609931506 274122138 165344127 136726924 352919267 961659707 857160136 604450935 202010546 973399292 912899417 651014140 142196246 909060550 658853736 466604621 666805532 356057028 988989399 663513935 395431606 464792811 528511499 369379660 898846346 463991496 452878968 814627318 582974784 341100197 963164487 781710021 311377523 264411966 201540971 354851332 992338704 345772456 234369484 845956531 606573043 970988827 429516269 923453300 530000509 356092809 540523511 503290958 149882013 854879434 232296241 960066697 565446767 504958747 287213561 269518148 633033229 862468958 190391973 342122069 714358366 107061293 954954872 132363401 562231256 365024397 987631439 239763994 993828182 735739281 401136664 383832397 303312383 899560386 429709380 285319587 608289889 776447758 593090689 570137803 638101622 442693000 206116418 462210971 721426276 449971040 879610696 104277059 423549471 104643386 744228964 784398185 785678364 569734691 738127252 591048298 629223035 480960434 567054936 947595670 598728486 638313710 249057380 300482425 656696985 465757189 680110088 616801832 922513699 280109792 395696768 448163349 437652848 249747620 102804914 688214267 205004853 893971789 672350360 193977049 986889880 494390689 289964997 445324160 247296658 448988575 807078798 160201856 844563140 721030211 712700026 424664664 117928366 443060686 477073215 964855252 921403830 822528435 583879276 282225318 822909366 206570396 377070082 896301052 690210082 555641788 558215319 990588431 813388932 746141399 731861036 520294102 148997840 719081183 536737259 802966928 345501808 868168452 668741248 151756479 363422165 161033947 110482698 315768760 112589693 460187001 248416501 302288398 263037997 416406477 927946279 535331942 337210546 448728217 641441346 471563508 868132852 140926327 334187774 992367233 625659971 317111598 809549864 125209583 911463510 439608347 829229748 187720349 583362599 579966191 341821118 312099232 977848784 765586425 336509572 820777924 306146475 348431255 614280502 201258284 973245632 588117486 922612944 134428764 998562633 155286179 624081615 445251229 587670081 560992207 862928489 916314698 233015674 720180063 307525587 102424954 641513409 312767076 281154297 156954924 461476227 307711121 381427907 201861827 566939211 473806456 269749354 643636796 339517071 972997704 496654058 549475306 216045906 840438359 294912639 507334446 394170386 139104543 376507273 883957908 440214012 409740543 814372121 479361627 274312996 670067043 186681546 847464639 990913376 209676812 713666781 265835384 268613839 726670926 489205449 323634545 551366044 278125177 683944768 688116003 985381400 121479440 501200115 489857871 219260355 484173814 305328964 313823027 280493010 786532080 334837923 816555176 417947565 546175178 585129440 598883955 348556207 439561843 612637190 658330426 320084060 170257407 414083736 364379430 813605850 802588222 689911222 854460992 954438863 461505166 338950618 988962003 929005583 814120177 345456810 800065119 691374813 685810405 260559357 244696254 645787344 697257440 458881272 964045060 649305248 612329416 606937108 106965328 388423381 924629876 550302327 879468563 257714440 992559078 835139969 502024387 942353588 542812639 324448721 860732087 985726255 201484332 713733112 715435621 883721719 438665708 764682442 786831272 980494301 945690726 482561748 123385966 783417250 700951226 796184544 680932294 760298366 900569165 812719985 511309024 388201986 393648754 255085589 152025011 338772879 316430934 226917613 967702126 671239139 756869592 170638087 638091212 588498195 313530811 184887995 973745550 625909764 435489578 545914988 239509085 387275329 788306772 807699934 792583319 143228326 789330134 733939301 387831305 135965197 217262939 262516721 170341931 813370056 639695407 855115075 569779320 225815200 401860309 599295387 125427695 349081965 218483497 427008779 115813888 543550961 660945289 145744299 895461317 987691437 400668901 824477891 176355297 837399519 314484877 660895004 126732314 288933443 922007379 313432006 484920459 749122276 414407153 965727585 106454399 234013381 450361900 165332158 401958142 243487561 805330386 125637618 527631315 118089984 986987947 126159810 517669486 665873534 957128503 459270045 211329929 534551464 239289757 647132762 311270856 734517657 500641430 227606320 909319842 510328847 229840477 326516983 470553982 266005868 785870054 351231363 113678163 794072958 294922113 509946372 825862294 969566215 472154581 726898866 403828606 737455872 632119113 425486500 808186590 487892784 144838420 574044640 643895826 270375090 122779747 991093688 775272221 239657393 747414998 367141543 794593228 705117009 869628869 111039215 659022691 444378117 312912584 681469138 721702168 243559615 261196791 121081693 322560511 960220691 108904534 106711754 501870642 277635740 282590315 465585165 351513857 610396605 501212256 843515013 228989578 701550586 647318153 738348417 456067192 488489444 721184562 747030969 731069868 780231591 179789630 687641033 318193674 266332915 208203876 547375323 586451510 738823441 198528909 888772651 442844108 861910630 309870385 396332994 348319291 826469639 719863447 459777320 355030358 382747242 615444260 356240408 448681575 433842703 374446345 283504179 114144110 875041753 416319871 894321031 636674026 940693850 976142493 164524093 846084144 683697274 941937504 689871836 557656084 962047969 977157241 201773634 452144747 215791894 911636121 208382150 445882788 203663122 343401061 433109767 104145956 243290111 238752709 611755505 420196790 267140323 886346599 718900528 327352960 659626523 559846701 606686461 365362143 642467246 473459663 358709054 880261085 332563094 431867590 781979203 367051834 655922840 425710123 983659446 844959463 271891591 417261659 534869262 936545592 528125979 476027739 599535188 563272298 546064071 871020059 821023225 618830478 415592103 959502763 141728923 131431874 993264936 769390725 216543713 142724196 158428503 528546068 191081534 492689202 992306764 393585034 446757912 490567287 770679220 596060627 234460325 446330781 151251665 410524467 609796480 595872604 913426034 223800067 905119216 939716377 752407677 911109318 196193416 397031761 419353605 672207514 590298390 907227596 250051488 258668504 359900611 437192830 868452023 695915075 572450260 916883736 852072034 416181721 219360756 327185628 994178637 868246388 124023656 363501552 832662189 164976090 479743941 937603260 312342016 632143987 931210294 457487126 705718343 873351061 133203021 421691221 390712206 398802763 951504493 975478712 330622160 246207338 102863127 762793435 310210757 930535001 992357758 410561295 760028972 998531690 923088491 518115041 728695762 483127668 744916976 946307682 455416018 396167241 832345516 353322183 799874260 341418295 569843852 115053212 129670707 561543450 670612273 112252250 699944462 840449089 979718686 251462178 532125389 939502858 864364923 374314258 237961315 793903984 467531856 968143440 199994313 377660112 622479822 141951470 914871477 976400376 609719309 810116603 993698482 487005016 384251002 861621422 430518017 960904635 799747775 996656782 456002527 284990351 255482719 187238344 775598247 510825249 328595102 677006366 609050885 373962561 505444320 683253263 794201893 617261053 962095189 713254371 511597229 745342522 594406425 718301946 279025630 236866565 805825551 701701613 148450890 925229265 285640886 600099037 260155417 863152767 230347763 332825765 984050761 349600331 590945447 107047749 517891344 895192513 455687504 509640310 987391923 649014515 429564813 893321959 581277316 934403936 693000509 851081910 293265781 987642275 391156282 792953984 123361043 369817979 826442228 284950535 159366868 584201650 475614597 638466659 217601182 835462045 185936859 148917439 849624864 526629546 582397158 413491829 789753900 557050732 499999338 941786828 674698173 522482745 720639736 203949157 993501537 208468610 382814132 372520005 685584337 450733799 435212350 868142352 187648161 432897524 473862235 102433578 427401010 668922917 658787212 773302588 779199357 313762122 530276214 786472129 234842526 408102889 568346251 664480521 556116782 215377283 927588592 707764404 121533221 993192871 939522621 886495374 587936952 324036548 647675436 430590185 764142546 590954368 288194331 999784745 902997540 433231874 342788544 453424262 420906778 485553974 567289810 668601085 659019958 477908902 189546373 524592372 174709100 594584641 360373635 849123385 347512306 356343275 456512573 368854420 591193678 944194687 971371056 182374466 774353869 356553621 576069575 900015914 688866352 943659202 668423194 576972567 909730018 204657684 469729031 334887551 277664924 819253435 354365656 459864666 674870191 635166101 913379571 418395602 783154532 764495192 448465864 422764468 408602285 339645685 184956950 940505934 973117797 362974438 982502109 904780983 688288013 194705656 971043711 343129744 897216375 470241388 935409974 375015291 195225346 900270373 157030752 462140138 838086288 180768719 844026957 788517605 537388029 579069681 279958370 774650039 560061683 937920703 437844598 196947240 440445354 425671089 195600811 673850088 572009180 497021016 543795205 262424236 136808687 579945864 480930823 391956189 336043108 691309127 545026931 177570604 672733262 294087649 203623841 152101094 856956236 367695568 183563640 755122763 401681538 910516058 756321725 502947813 841264246 828830850 267496507 441498686 887108002 781101562 503948593 545298261 815386979 724913703 226706152 377556339 209182921 182373456 594647557 634698597 845922442 236360680 724657168 785497448 135046464 646057070 762428006 202864755 791692481 541614799 679205054 570095775 602919391 653188883 229353394 930222124 405225665 959287634 949280929 762051141 605373624 565367850 725842162 687003148 280316232 131193472 582855537 810432508 769938859 879419677 204615129 532225265 455781048 246039129 122983681 597898767 322043720 985866916 602118404 336617649 662138425 219198673 394748853 924020860 164577173 831254236 948334854 368121552 947097532 560510313 413624160 516498279 416850826 472309957 152957138 425958268 819985835 810024680 850080736 477787987 712169263 304562025 594646781 153879821 847073640 714396926 168838289 353925327 215926556 277604356 140848501 109856523 283012276 930042543 592704292 595725647 753809336 289470715 341938654 506193825 797742112 770362069 544796966 388210473 705223711 128597090 201287212 141623449 951280280 575367376 528570997 468712848 735047886 440005351 802142457 494316745 653091663 574849976 283760879 259184894 504079056 399259850 530147630 117146664 297711132 239868822 193762513 517492221 938919518 789812907 298387974 565364562 200168425 784913573 990831529 659950917 581180105 221492679 432383735 822500142 495630020 666118897 714460679 815080004 710751197 522756718 781538944 690283977 711451116 290590572 664908808 932129870 876959582 314795696 577752699 763733291 939853284 837828665 217114115 493269426 766387858 754089991 983275704 670541313 116488506 626360144 829543590 429630848 775355381 733329011 812731175 505105963 433731939 520330986 194138933 105141820 919712234 700076691 330826697 515426239 631248774 297802630 760009500 375932401 416949836 222628463 560975779 668573632 117858269 505449196 349258624 109627180 990478127 991591189 405252611 961076119 821452458 577585834 892344971 311766902 549003951 401369857 740745654 880949163 592896648 308968242 476695264 443443828 290377938 114597640 667443081 710963227 305315762 405036978 978187919 792575423 366499223 209046601 683284873 154324638 346220878 621787835 238578787 638798597 605320060 277382226 354902484 291287605 673726862 197752643 296516649 957165975 309451601 544974209 530210883 484350356 433866565 419841263 154901601 819853179 432983107 852087289 129176760 295663105 311777021 550798478 946689683 133870697 863748190 357256927 557026348 771331628 941780634 940865559 209516486 371765979 979898595 610873265 338233190 226551655 358653850 933602421 479535591 657414430 999810438 363065549 763642799 304477127 738612109 962271904 873335711 920248344 895508917 491266005 900836917 848427178 773223277 517193725 773238180 554708457 960694901 477817396 509606573 507020588 954546902 491439109 721469179 273630882 575442348 269777543 127141756 151233895 795207374 462964140 570883265 308377446 279130191 158541072 982659563 890165248 437062042 574710065 964504505 703334790 200211395 128308160 760524083 381831870 256369143 304617138 415200791 884932518 396524715 467760763 722821324 220301645 565170937 828821823 825981995 269404882 778833461 804733996 111511747 534135221 268237960 197470286 111623746 230235245 287398513 838495469 330554549 379052256 728648730 598753807 566612928 222126335 271661888 978189068 160932918 573937413 533503290 279901389 410547187 641602013 991993726 381361080 957266894 453339053 784372182 533076447 987660703 853636364 655673923 142390427 963296569 210811847 952527956 109109270 189359253 318916161 853134022 911088923 715501955 937278243 824862842 641399701 379468703 706242423 719018792 698083274 906645018 577884518 286076177 321910314 613266497 835269750 449545795 749999270 780778364 727172887 949584585 325634443 560391571 838594642 711990321 823940100 793998946 969223730 600844980 216219668 551672475 305291481 706435484 862885543 550375266 697482280 266968461 469265837 543469446 941503786 391986090 792541646 505584842 102550245 758739843 230153894 390199708 878036955 414423363 518903216 416524350 416259220 280667909 339947574 376057235 682924525 912420597 204275261 747425968 943322591 205980640 187534121 833294885 412466945 352171631 952268041 771861045 462548019 437158977 875049161 763731770 324311664 647161233 571769229 904426836 298084198 680788274 783201109 935599761 442159565 318122631 601139226 221046135 380944800 193553542 312117935 996696080 899119869 717858316 739747757 780098537 244720952 252749299 954961138 294363210 855211822 233329998 956929311 517784554 349735896 930905751 666366367 335575336 853686572 434638814 360355139 657150332 874171045 380661756 237955733 453592065 362244549 963941685 103837823 117980515 206329372 175737238 623631488 420317083 268183081 121492075 143131247 948901642 871450347 862174151 944371925 834390978 360496922 897649500 346707384 650153187 856445242 693726450 991123845 104329810 278237120 126751807 218221113 346451615 599938598 388359480 635741250 965324199 400091455 175118983 339169017 285438118 260729622 790208904 597048230 779179305 839410946 231816206 308611629 317483079 499396110 719901828 472081505 355339126 170753830 621057001 735760317 667361646 907477849 364440525 627084808 735010226 814188053 932593308 292090256 558534092 130706364 940704199 495440872 690700187 808905262 895452177 781590070 750567654 317065688 859907700 172484783 806448122 122545604 886538494 307836647 307095378 685097673 530803305 603176779 704303907 700467600 360304834 938346785 237273364 804499392 177811651 294895624 743030756 653190468 807353162 793796232 806044876 740844399 576344439 719133565 731469730 435744565 356841196 813323500 332366075 932281669 296842799 721856021 103452744 768155779 146482023 192397796 611535409 707681989 388099064 215423704 334209812 158086916 854375177 564770836 821868784 610909638 523727056 310046303 122415844 879246782 985867477 467199534 224575186 356757110 470112345 165829466 670061453 878700873 414409800 168408077 279259023 324163987 832990561 925761912 924195092 964471064 816426975 325557791 868466540 646428220 452774137 426950214 257388615 505648657 275538177 692332667 245583166 160593309 893654438 798551857 873437501 115956900 241556110 982797371 532826750 689714693 312102040 841281550 138677079 597932314 896196023 924673767 174304344 411603291 609181048 140855377 532891290 972019878 453761184 825819860 779839855 296335066 374654380 426126991 378731074 198163863 802039978 390267064 874633064 169954685 549060989 629607666 139312451 943892077 133490908 929077235 922876925 806820408 935093403 120945061 947594699 720514985 660782233 835072279 523171675 241013681 976525188 432914662 674584984 895272781 223447839 757567815 201445779 461609304 257826455 142588541 993457285 600226113 475019275 742323324 594970657 729946320 955903536 697144954 171069246 570726426 925098961 792001237 407203204 716546777 895154953 773815590 726344875 534000856 116340443 153678416 982231315 182403291 177890895 506981377 930687983 956017566 265211813 925411335 793504121 445620678 117391960 205785698 144328859 566861714 911905907 691807094 854103070 844514373 111583333 164829764 380922931 467915901 828476322 997889321 630226871 554873062 832395229 738192768 769866562 322291096 140655726 881392519 737571461 159346325 752084748 487351265 477948758 693342097 241850629 816355673 512593378 661866247 547641924 821111461 432139723 528739278 164063643 795182268 146357607 367572309 987123941 205455398 592393423 221147863 995550041 990625399 413436133 159132017 773697362 831146443 458349817 201456495 694412577 529171617 733535972 263183628 365727256 565941719 375114568 949729848 105317731 757338589 575814382 449438222 801219965 117562352 160207849 999386009 856178046 902790683 384547924 337139749 128613072 141634924 622773378 956505740 133398183 801228642 223115310 824300515 709294813 514941199 439823238 818004146 850081187 424950113 347435128 291957067 403439481 477222411 879537936 133912415 113634637 850089160 915811760 330207910 159674466 666880450 137455665 951058093 476473189 908901206 335261577 784497604 478047079 465789011 111114869 946727295 544159562 138256380 997238489 452885316 358375625 291055002 472128359 152500764 431569912 637335496 266132287 223522710 219122907 663260322 354795333 497249040 746951899 142138817 571026335 540117910 476943887 589750516 523727513 322405878 480044836 194545443 351367588 881424198 955745030 366942867 916244281 462981716 720250356 767889706 107816593 427414885 865761562 962297246 336429575 702015013 676860611 520135665 959651582 402534105 478473988 414147645 714458064 512780319 569827688 922943015 635234996 544901824 618886959 988138788 425459658 548977831 143399312 727866482 348768224 601301509 277363044 136719016 315655798 230728739 647842318 518608769 305167371 984008811 117490050 742374408 945162134 602669093 470250715 193792125 660042763 357369934 692411390 896992133 307202415 763773477 816643617 261242692 259769869 666371182 686287755 763456894 498358401 586710074 311977984 368649151 974584414 962144310 735105816 631435261 343061735 563643095 196220966 783786904 609355644 527508968 924396040 300909130 545826042 161305093 122464376 920552458 569491632 762679982 559241129 601028305 256750397 888927532 356261003 112354437 647725822 906998014 613199010 749726365 457065147 799513642 275275864 384116296 269158803 269055471 105878083 475719765 330723677 120299355 592646925 590311236 633983052 399190504 332212345 113716434 173879041 968796892 649014645 261466200 898097486 871061517 387192672 358443736 899208341 291875126 406430387 115619669 285173332 285164121 455920782 561212567 759183580 703997930 587201697 509267722 267191942 347915922 161113018 206057582 856619328 732614781 713615477 819029451 617862550 471412774 665992905 340019894 988727612 821202183 815811888 789540802 286355435 157752618 965677265 534058412 999046651 584907792 463246270 719924281 449361053 329098506 160321789 661544409 122355121 369501046 210174584 523617359 662499853 363125293 183087753 939526177 746162582 729583398 939138177 635763761 791824339 809095052 775514144 327361428 203734594 908637085 374886613 292480770 425458052 991467162 745184674 465555617 601985422 819711684 105840611 624962300 287600743 739667870 527134439 181600917 706706718 918245114 857992592 233941233 587717333 634569743 973648703 125029675 203069689 713490402 420041421 903970443 196117952 321728112 214577786 272893614 975291807 225636508 429779322 452892854 251859617 901973490 457765537 353510692 593514053 835776145 603329049 810585686 196376641 686592235 189790466 673083924 156740443 897027104 672503306 428506111 860226739 440990705 319274785 393106127 210253607 131218801 497745332 201858238 844463681 346183342 763526874 345388456 544893927 434416325 659995358 772358592 749026330 236180680 956217546 922578479 352979424 656249893 407160786 162997294 555662260 562372585 263415278 182590159 650032223 700680952 885777554 549025820 829564701 107205350 504862890 879620520 638657961 984212885 104036768 116020126 587574758 574287004 812855052 374447765 209183343 788752480 300389819 357398427 535765288 376870030 180311063 229374724 751264109 505327601 672337218 371149903 524330436 152517215 854439243 703704043 353914786 804986620 378649978 882496540 670269291 448840077 277311196 144173224 640364178 422670216 832100520 305846950 326055966 674787956 614716281 784855529 196526764 430670243 541938765 894042901 535400755 614705163 216931870 430597590 188197037 795620056 933937451 842048037 535311524 256895438 775089296 585849848 664038916 842836979 504487814 655562149 495637175 552240068 403396462 722087916 509753385 434925375 591724166 867689171 515390064 853505851 655742472 385062065 310693966 127842064 343321227 283298128 781955795 460728260 758519554 320379076 195291851 269501725 123653626 129720928 274702769 875887787 773203133 763598629 103318924 584065270 434911533 322142530 284597185 757984550 833007944 896699908 389433474 676566141 911251761 719051927 932339446 582609750 134542465 182131789 545041053 581068477 578985647 835121592 946689177 826534221 796161022 644526639 263818382 983825896 512944214 649798112 361478962 115815866 624965961 652700451 676417751 648043510 797558681 906646108 412566442 923320543 590773741 118393301 130198442 571462035 492062459 516636687 245806673 518603305 382092241 989631962 939009131 971491455 544075164 117129012 486539530 316985456 116810667 489825710 606453607 203977006 326537466 112689363 367212890 177847075 520533371 704205462 656249335 759072638 276438082 488422173 736815080 464967560 830332374 396670760 701638769 458256829 629551967 694416209 404569536 568733685 689732533 613487279 698066513 911413475 990571900 741913413 561699906 641408030 365361903 734336008 279594190 695519854 654562746 597072901 543557542 465702649 260320911 477610773 395824362 904724190 723327575 854734071 863798511 345611829 643434930 404818766 624182693 118561483 862129567 333205828 365125392 620244731 235317977 945119893 483956459 861242561 123636726 243293220 170166355 464043933 399981635 107600867 524427712 196596567 531129790 380797136 264375590 508688276 337074143 250790216 619059116 515667758 475980862 321266206 677161502 557798392 881642709 371251154 562230775 261053292 839117964 878956993 549157914 630469535 927892250 487315757 374174813 869519697 957158156 146953809 350563768 782296454 149974815 191719534 164807892 981657754 509651681 210062396 395484114 401976078 296103527 889311073 911287827 792990692 638503267 186953966 193381007 599157347 106516765 277939110 330684242 504302392 699220334 608121564 306682453 192038781 821815572 109281685 191376346 743366931 791862632 545171083 611212854 690002384 281156905 694376427 470834349 699356744 642626675 662896611 157740639 877307286 403082083 569882566 181732002 557003571 947230642 455361076 618109766 785765968 491534118 626142267 293461651 497723882 407775023 215677033 432425394 274225636 699800157 900052920 645376584 489994693 822393064 946119619 178798738 831616918 490149939 864984121 316017254 997875799 332900692 362528346 859558052 637038953 583700546 954355903 552909714 985827890 803433070 546448707 421223732 835162172 442108473 915910418 114595377 890409272 865867737 240955400 257641238 180366861 889415400 313135369 998236003 209658415 925933428 694339518 543262307 325950416 191088387 172395922 264917566 759788503 279323250 613321268 497220450 137666569 363923797 482527618 413388910 334731508 788417791 341913823 592339948 118012086 948182918 777688730 593978095 161794620 209979600 507996318 537820235 156256927 758090099 228399211 241939713 644199405 751811489 684366707 792096906 823107825 194412826 762136251 921349344 123079488 760207059 520005607 806326336 543275375 155012460 601571470 140147469 820836439 317189459 429254881 358503329 324500865 903147582 238622685 172715992 586983801 481940740 400976824 292554363 687481410 569529919 964900857 518115216 781169956 649282011 723839132 231278701 925847756 410630149 402714397 948217072 575673105 228207975 619306145 998635473 529166371 531762813 404585057 604031285 199438112 154279310 849765199 558732307 978016769 174284970 192146769 216547313 560859407 361529114 630176929 344020938 233423530 615572590 999859855 669722816 451598236 707905455 158018204 473820110 703505718 917839262 600592384 350220707 268765408 248418157 751878453 453746320 178323824 716802142 409245735 357611590 686696644 199979347 836740224 129131676 490650849 265402618 398792144 998310223 442072620 689927163 879868111 477428322 498231449 983873341 910851386 989489733 926425669 231451289 451446444 776147688 207971087 504273066 812372838 867326907 210150272 540164420 893210645 776899448 464184212 129259148 222723336 653086147 403382162 723270490 564296630 635175716 830062122 126913345 706174481 560881112 153093643 541856065 621574140 465881301 418283250 212169132 253695773 413064742 816550012 265456758 309015603 942956241 576719200 545917006 942390522 387320919 832184939 572838865 615843598 121676947 654414624 713350110 604035394 421174218 934795884 137919283 519705478 699083558 948134821 254046271 395544902 611986076 628508040 414906501 813489219 290914529 856461037 776543814 680689993 841463020 925825092 965371251 924673538 253970186 587946923 730444734 263763071 631490588 884389896 453440507 158256182 916783873 928184433 154852177 782839771 521591690 510570131 870707062 633183541 869708955 239357548 802785512 704432842 851461362 285597149 165618221 947111026 163904590 274068905 461993040 147867705 174554506 739558568 371787127 175327943 434949120 937615473 224699191 253589174 549425094 296731122 168526009 956440339 553069796 245440971 738306402 828401975 754143150 452146308 480166020 115723739 332439838 370306255 545818665 150787962 971546447 731923868 315111495 317942514 918685375 759609767 956071540 728646953 274972982 285199396 409129743 275034826 240357346 898892473 879699994 456638657 485671191 836542113 419046537 129508451 447540058 104891767 196164455 461775691 393649991 473154644 804228645 800154447 219798645 465088289 267142119 523049072 320199178 765383077 256871784 837999058 132134422 207736872 135381882 370314214 965549751 860371034 220277205 748322505 396451391 988303623 248146820 287976726 975635014 859462508 322763059 981000117 648229970 441198278 592635103 967786282 725102968 366427597 780964635 164598023 317511728 189458939 902562014 200356407 509076579 747284702 182162623 570178216 721094774 117286011 632057351 825425251 623867848 122275255 152807295 327019444 571883265 569366067 227310792 509097159 787900494 752365062 392476219 132161572 605526964 177099688 407378281 423135169 447568318 503177054 579131361 892557898 892109168 306894962 458637361 329523272 290845052 648147410 903634661 312327876 867267785 284698414 133868935 492464799 550979380 176566751 175764583 887146735 221236859 446281293 730894081 426240071 577491814 154824258 305114036 975203579 984455188 310990123 760815790 995186574 845395012 827418118 782856095 935912534 233048867 864989310 556733821 561449507 902839037 765349807 576154714 195283989 267915384 305883098 832057277 682548442 212878129 927975177 732257778 877144733 438532245 334994566 626062848 877793081 137431519 122623001 184268248 956181695 800319799 995309059 455562858 924705452 541344888 103572033 913323614 378832660 133021136 716223642 624802425 715749529 965228280 732869460 246780916 244430189 936791905 678879471 950532836 189829660 822036822 623059645 778259036 190443399 327926456 102631095 147569378 391521678 552828693 712368250 854111831 563932014 693384917 103261461 340520604 314229421 711991218 790354883 337419414 331420387 327417760 926494739 464318703 386143817 775928798 471131191 901104719 140505720 730785863 110125633 355724365 324175294 608250264 498175753 596042712 492863211 131605350 899773697 372391667 474248589 585387840 765577438 306809781 576896760 382370563 182770890 429799076 852592896 628028910 620156149 593346953 288621154 680395528 153247656 210662598 686059184 607567590 861445079 832253801 190127410 916349061 254151821 890362896 601676009 278938705 751977432 299335096 720797935 717960210 822030650 912898989 338538488 847600464 398676221 437885194 811726288 222829925 510756536 976148907 292507353 880564213 823703389 453527600 960616343 188290610 786952911 975997119 771119241 976404337 319915232 578371213 207454660 171002257 436248880 294320841 173491597 231078372 410106119 175370022 113298849 903244328 643039589 227546168 669868837 371429587 595248954 396154233 322055783 291291439 434742713 169304620 718101661 871025773 749774529 706780228 220943560 950611402 821452410 297304638 252547564 767214161 875707943 340742819 737515683 999687089 530943469 208826474 777579676 848635154 884173875 817956668 817191588 552946379 959035878 156678508 635838800 752609858 741779702 549360518 945205909 515296540 909660091 246269266 414715120 731219072 289413647 267762725 783009366 165288834 119497112 196641867 537510804 639439147 144234221 517069456 776554773 747539716 663610499 639942384 757824975 482774349 682096325 181601431 806717253 248813447 717173192 558461663 467335135 496069877 710186708 323972625 697828153 266127259 683646493 545843251 432230805 503997795 658136115 433539158 857449247 962062576 114114933 415280591 234357790 999743166 656570765 838622142 321347811 624029974 702244586 340370923 105353209 609382092 597720934 738913552 410082150 292879417 311244706 575985881 536719132 352544574 599798671 397982861 983823706 859750784 393760737 188263823 280758384 734601913 825903317 801185335 429089228 115960819 861705312 667727365 635602000 803856910 221751354 630955969 893856014 114532456 187689349 578691614 861359694 603416663 727018376 427416081 885983226 578417645 820894817 834136768 292074107 578646773 984211352 282967290 122562741 935552005 302559416 823598132 491312434 951678448 288436653 187547616 958497172 434189548 867467585 923536320 521259297 703242950 776390708 334065834 794748414 560274357 267671393 663805945 813056770 913107423 515448282 341077399 282731725 615302741 722787859 691950804 942802738 382441913 447028595 763381443 985519649 570896296 826761503 509005026 742517241 833106614 466269778 539814927 555391570 868786599 189271535 603968212 471999226 566245877 303538237 171963188 975350844 895895821 404997402 459541211 670513148 680847700 178357605 599531218 110948494 441197481 409339593 927796676 692295162 644737845 706686737 565423569 877573919 574987622 104470273 912936807 203809302 559477359 658963620 534797324 978712946 868309392 549090713 699481080 701575936 262364000 612947047 264767191 768759393 863523678 565745364 860624961 923165403 577059989 542210585 456707069 138265993 819849685 792098692 161983425 780088666 623195328 804146729 299084875 997229527 230119386 160968237 424974956 733048943 762065860 496486556 669716576 974354794 297423069 424152533 507099856 533225982 987329135 662205880 558701412 415946621 137888697 948041396 846070606 231306539 376897524 322347759 454979613 942718484 126289859 163494421 655837358 926978892 777924299 670635242 783198293 766064205 494871726 325639406 379059659 625204416 502677162 673648003 756003130 362791881 144396913 169163248 569140923 704081704 748104534 821560591 936228753 207766163 969492506 959459311 807479805 358160179 137923962 160663124 187579534 480279656 829204227 947136520 871118540 209376618 706893683 979381601 916105573 779232808 379865086 798490454 562499812 875837628 563881199 581752021 890781581 592735041 380227918 222206776 566113075 923815873 924396192 200428199 555387331 808403918 378702863 650004431 181848345 647096731 919831137 392194661 665185954 880515332 160684836 802202230 290852555 437270253 278561232 164134861 628346779 405823403 849754954 505854755 152022472 301071885 886219081 536418804 441328458 676054696 576651515 463822651 174370348 938721343 490503760 144792301 103318426 831785885 903603890 525567838 912442465 451329885 714446683 441714095 374130333 193541365 763723039 824888992 677921285 522446837 576622515 278588480 357911198 763797944 785089866 229683736 739782358 205007259 632825673 293314431 633235207 485626967 662887465 742209955 688859839 167847178 419471200 374985100 401897929 245724247 792888786 863057544 178949707 160356810 335981773 288316579 460742046 896190658 773504909 541533504 180447134 177034261 641880443 815346285 603276231 905976465 184655546 604338311 527248262 696933819 213915447 565934373 539494420 271606267 607972728 798278873 704458173 967527200 987838723 980328294 846094099 720783980 406037991 639776595 990829691 213830289 773924088 202344181 227158924 908325913 667282408 393064926 894213963 696748340 449191371 713396038 566183858 381082188 472277891 559498453 738769455 794801681 364125495 796388268 376826879 594195588 854721503 373378812 314658845 541903669 336777253 509243051 865507190 428570496 208966426 641243338 461656270 758921398 548782831 992976074 554077764 773017378 564319742 930025298 935854207 783118670 410552849 673944060 209263352 404976998 714337285 148253951 220844211 480040888 317777368 440986318 825789763 169765951 311297776 214945354 946788595 178362654 656360141 591432126 889792121 473219943 348589217 266409558 558376491 702596580 209549842 148982182 221379016 177162084 990413751 214875389 754216490 543834683 269525532 672572097 424043341 914672984 619161202 270708875 806938508 338261269 866914976 530132933 834037756 171052759 232847433 292015600 308743628 998768282 254008522 765596470 476449031 759041698 218998911 714246845 523225319 854286464 938291799 748706728 320362987 977781684 213518129 189850722 262365859 728068782 362856707 225847928 131590710 710574216 680904619 282667728 636059668 103558008 854319576 638088760 364349315 963559227 653781370 668301189 858331896 699204563 212773754 687622297 146875425 607259942 655058978 335084830 655181696 310260550 903420019 513641804 552664300 636160424 102504870 947491779 964076961 932680820 308245475 193766212 356281607 199220319 717347554 737092555 436225992 243025986 375362153 299049846 121948259 472479993 970233320 271583538 111649004 916657186 329613971 590494795 221467633 144989550 272968585 481519704 529605081 888231465 402266136 594350449 383674978 355410970 666995467 960194575 601004447 186011598 959830501 573102031 271906270 414571691 610222673 800099994 934078047 497235197 867188263 286947659 168404141 805907794 921467505 998185668 569359678 578471354 280610577 121955206 398689138 262688220 789845368 895430304 510613991 998111413 374439642 569406656 289408315 430159387 580067673 918067445 477973604 543949867 166485176 216573880 236558774 658851710 838429011 393244111 222900776 693738782 339564098 202911387 729549231 812794719 661544808 864137974 453790026 544596265 934807493 599731237 123921096 760493018 639852896 251099403 146384720 904157662 787419742 252275005 345222979 587142824 999158426 143832376 718691653 854420710 100140981 927300282 144600292 581192600 402812556 470354853 275688106 479860714 848236975 656171025 600516031 110465350 366719690 529431481 990640855 476070722 682674164 977112194 334404774 591677441 426357377 715164906 360573323 524822186 845606415 208003830 873512605 183741683 407698884 355495943 574360849 795615581 526525744 403952037 757341859 103728917 388473161 544273858 353077321 197422064 901720923 633290196 344315079 589873266 202799889 201511554 422773127 340037797 265392334 612551284 164146754 898196314 672181024 322215570 225482650 138612132 436853172 340799735 250183047 367228244 465487373 313348249 903827104 506831111 316011190 284056031 392514782 838226894 671692486 344010964 541649276 893020166 102083235 812119502 974363943 908988272 486423236 538574594 715228089 765410514 742477656 453792201 259391351 641322921 787583111 751841183 755862013 510405059 353861720 864977493 353167703 401593721 174008062 647055493 678263438 905365758 444996350 665463845 762363803 226549811 795437672 541031133 731217624 916438520 559140455 481705830 607421240 662375051 668718035 468985597 240296369 719269644 666809731 902089316 202930421 276729331 476798357 520528971 552604198 419718426 879873318 807982086 813096077 365855997 494983642 708041034 343188616 911877007 327711668 353208362 822030108 349123288 331721139 468804313 819379972 170461400 812217148 510125607 885174748 398640882 850836608 573618291 381811875 791146255 199925789 360279567 600482589 735899519 432706051 267576631 665899991 550593319 949222050 669371831 455573831 464685497 781191273 122944050 201395751 927842081 641940227 558840699 829354716 306864883 837699667 773152839 510561958 791807955 996669831 739257983 669437944 738861471 754418910 929710007 630635714 270245228 228138123 386488355 970500333 679876290 264701827 257879887 958339794 389695116 510894492 489337695 584802124 660838807 223731615 708393962 258670255 588733709 186434295 406576249 993234063 448677150 147504199 970959896 453519175 146690068 800148477 649486741 944809840 965689146 635224716 635464335 516868144 901011457 253013618 720967526 946473060 982253790 636006147 320550285 913811415 658737078 704630011 466975851 454950845 485335659 339407134 674868233 414128834 762060559 682298732 953211342 157860693 353726642 760912867 478385235 964719069 322637616 389585003 836997677 930072711 478631671 354323468 351528310 169277810 219265969 231928500 137423572 224471675 941837046 748519882 810615360 905983797 419237738 498114322 149763557 412690559 104018448 788521111 262800191 492319211 356351700 968291517 589962810 972035407 577166439 402606862 990153370 946160915 119749850 710094128 251415596 837458912 226974925 584038726 756240218 543306717 108597847 739831518 932625824 826293053 559399201 521597030 116614454 978587946 631687425 778205343 465350451 853018724 653341650 559600919 225480271 922390639 143634340 624715679 545385162 887303516 474300845 884854180 399982059 554877826 986711961 659633921 493581938 982147252 856853026 108508543 378243914 871537105 353876676 240066992 679735486 919086538 551543614 362151572 340528358 237861646 159103101 200093540 702925232 957584646 594488235 176682727 819043724 279056484 560631067 122599720 692592261 405234802 819143516 679208603 291138480 845094546 104735562 259988604 859050202 210884659 711319726 520390229 890795746 499007327 805431681 396913987 994230187 674668275 385198576 141151987 352293524 513525280 358768814 664632208 289996556 121045682 878252273 649532054 229940011 611365590 850642185 686748148 721529352 194111215 371221512 738859710 214228361 919976303 756049706 134560450 771918254 780083752 594418030 828831113 756445139 454357953 191476782 608004418 251178336 465087230 693380769 764831189 260392524 967427731 719916436 756229836 274862795 467260516 130177326 188715684 977363614 491075256 207005477 664326499 895518254 662572933 751117243 110665593 946730176 112945205 935005755 889390565 473967539 223979932 414267779 237046044 739570992 723408451 721825174 105217410 273672187 300606125 172559658 156662632 984597742 471621180 899280590 862819747 707699401 388088452 502995952 339898384 851138243 325498747 829250945 426970986 173829037 670170283 428605909 243507805 193669626 471903546 896088157 109180261 299305440 591641567 792878529 487994299 949859716 175358318 880532938 831388218 512495549 818333395 807660648 682826981 556830137 831378911 652122660 548632025 210208722 928560715 109063326 524527250 335481043 625282876 427501453 606899075 288006659 641997702 180344802 234449968 732781946 113485292 520728524 882126329 535963260 114777680 849947704 232617893 383934798 545326121 954050940 382567311 492294328 719001561 324861329 558149204 994629174 702329210 194573289 855556841 473008070 366767142 796857221 840379353 577531951 719156869 690971085 771477907 986574318 964973268 320650104 369666658 107498647 370847866 347940085 839756880 211707063 471813038 816979948 432879135 438189709 227178387 775398081 536680411 540468268 195134624 816245230 203063540 633410395 162796680 933930149 868982313 882263338 272661383 527979771 835995163 308363372 144972137 209841596 138378310 592332319 879964131 988656209 898143246 103032313 109141872 395011660 161940555 642915219 986340985 573690557 437786163 752418316 305292670 918608763 155176494 446959709 391510086 304941676 989784835 528651705 373476016 790567212 948528364 779847252 189526981 542389483 279029083 899542774 954834617 304978995 951345786 906350882 433874734 852726409 498117720 613850401 763963692 485764427 466744692 595951933 359477743 159092972 111943443 892756303 293928008 866168326 972429739 291144481 409265862 468676476 316749309 548992338 137052861 193452463 674202634 639197023 273377966 753255639 674874186 587972505 565334480 314930440 894151963 182367965 589624894 150316998 973665881 710420843 225902716 368967707 516270249 768995558 321718835 434268317 202714452 710382289 345304340 364301904 601694006 857429354 291176446 877747386 484255925 146222037 611757485 946625313 366620030 564631191 176326301 997818412 485411896 878195662 145302163 855487672 375704758 871869478 448767996 424961892 798734139 750500336 560343019 198923671 507613042 934007523 386249930 760878952 707930769 388880882 308754398 285726564 220297796 841285856 438901725 277487397 679698797 784057882 656192295 232402036 769213328 132704551 420961528 333068999 798789535 871542390 905196681 452427180 211425907 301142126 643616433 820393458 158991649 867213336 107081276 931374605 816305314 452686538 722136665 832916028 836819498 758752483 276831233 967940670 404592434 896945341 279711702 742164057 227318782 443811313 476257729 794952173 898721027 720995022 797613780 549379926 660989941 266058052 387139846 177811449 880819889 858616149 741308358 669855073 908683051 705853288 738211405 661448257 424506780 734738214 278165473 786235032 725761255 158671907 542836084 331784705 366299829 936498736 524822706 456993860 887331466 722519821 910313507 302416566 946703067 697130628 754180951 266534573 880810544 519775438 977189932 107920107 820119435 249509135 820009274 129380559 543502573 366317841 291768893 327352335 618702933 770451913 494815169 590767896 899666480 741512170 354336296 411943421 371259469 356635047 256225509 582179050 825460173 707591990 413289700 447161280 479729025 539789142 493141803 340423419 835920038 501042070 215955621 904917605 539942186 707129743 560158847 754663641 839594136 445669023 435097032 433947964 770600855 493653675 621064228 808107436 496973115 705756246 939294389 208080594 361781123 383107552 696289525 796140237 755501613 471109035 736787850 518310457 171062654 735135468 530261669 421090090 932094187 276606560 311595905 962341257 871017803 678920330 309880851 741747770 147758846 432896393 976736402 383985402 603428709 767364679 602401377 709331901 150427523 574356467 202602146 761461269 833129317 650553900 333749521 285542465 678590576 730097961 847317928 200897166 640385519 650526047 332316117 607099655 429752731 365776068 773319379 303867911 552374606 279646359 442480917 671698482 424291041 985979944 568196033 654382272 389132241 613049731 707670861 631386853 355896643 315354631 697952965 146420253 522925259 674126704 449118505 725658164 259891466 514843820 204498090 811166457 368105207 111918468 543699042 989589630 252895540 332432293 574783288 478779672 126290704 748345847 910588499 703621159 626388344 160779145 361963000 937874097 362346333 114505197 340345222 794560314 717471050 626123504 415036761 203169881 875287716 198668498 108100503 519716710 524846820 211786558 384296922 879802346 858663126 478024780 374445986 525666032 232639003 700784004 837193682 122747085 314513861 299617400 306409142 448049736 400725184 966762459 676043772 948862042 921421654 339697109 420802415 629771459 570533844 212101244 650686078 895519440 923201374 537768387 831194760 443589534 705600524 739521010 648647672 661717931 526126360 525408824 116427414 708066821 168856954 919088130 161305643 397109345 314737148 884022994 469746348 649826993 782316173 554010692 375657444 895609104 249806601 695048235 771986157 781297043 580743611 445143126 332125684 881711044 144493653 920281986 819682450 332335425 952793349 122338881 693227295 676166705 600234310 648628815 982148014 546245691 162925411 596358853 951987674 716285254 774817962 776982644 550908867 887105693 266466968 271324195 220678120 977125495 343063227 526795949 993995305 505066395 358617280 358878624 702014250 395401245 173395753 152173924 677558813 822706926 829658233 311972022 654999301 559648340 425509288 455848992 513152738 650784231 515318693 324203016 963840150 605704360 621927100 882193374 393219614 301524100 786304263 248542909 651257782 994622937 239488872 517442337 248918476 187965870 503403196 357417643 657240962 427665389 941249788 427082594 113836231 205470260 207891967 310735258 121964694 309850156 668406219 973566008 426613339 759088493 132087553 377097692 828791565 303605481 575826897 565890329 891239661 251463854 738606542 299598537 166191156 655334106 781257982 976697247 369926167 701188869 194079826 946008632 495562259 297985868 968764719 812123640 504433250 714830119 702461035 653357394 742705675 404427009 669227501 987587019 188056554 884876965 513492941 561766815 530433339 669366995 913698152 609489760 547664708 968214755 102798295 413420115 287681517 270348705 239284798 895289037 116258510 980104343 615753026 568461164 873049390 614124792 110276297 504574807 101089757 435859478 810112654 376620987 700458721 352353152 263168277 750510594 208349790 189620409 710084994 681780905 764189996 600054079 900894064 495002948 105659304 914991575 935758808 259641206 785448824 752673962 789812706 534705070 682344825 756129300 111119307 696295195 813118499 807434386 117187165 191789657 322249703 232606662 558552508 753521283 790084354 995603147 659772520 525359829 362172571 887461689 333091648 556288548 606172375 551092616 530154739 151067090 300271721 678776701 994746006 407423530 729429256 975535265 483845069 653937562 136113865 380134455 801480989 571168924 478627414 995107346 158642633 623706776 462425169 709405055 561955271 293551134 611167992 467537285 312825489 338429692 945045333 877873838 595327443 680032306 868763986 156746078 113202516 715151909 969434774 115441378 524794851 471121054 755769036 542895439 523008342 993365636 307910469 339944838 463722420 160001643 612825506 524726933 995108258 818506760 504412476 702226682 599612365 856280213 536404198 927056946 164508801 612505318 261577186 554509529 228615698 354800645 540381041 698461492 247120864 356705180 906206420 758587838 844411391 700764105 287326862 888842773 245982391 778615828 102916035 691810009 938981514 777198708 251263244 345102840 138104737 387449357 546032577 671712697 692399038 878804320 919490884 873651857 334320653 257216509 468975977 810694747 555619800 948717602 748746542 812526385 157102526 933124078 844534982 197998140 813289196 146374393 883843379 864034147 712150831 888996606 115201280 129955263 483636705 356397035 103075785 299247020 733501506 561863856 626342225 355745192 528717350 337373493 316971990 364501107 867061042 892639505 737754818 835081495 153484970 198224698 544941112 654961436 141871852 394349258 746800768 336946658 542718064 137934815 284852622 635809293 808987908 147363819 755272270 115674169 948885295 312325008 563718261 687422325 340279392 780379576 999669593 811801202 240137532 261644551 276727100 929448347 608233251 392733086 712241634 550469066 242669045 635173505 568578444 802942160 715706713 342666357 857007350 914840234 188912897 862147579 167638725 901798318 181352614 263741078 582774120 986415207 646102303 423339619 284183089 157086469 717654366 779484730 641622544 506654825 449849488 706025216 368776461 465693773 462067059 186054993 357766965 786670889 294775550 315971952 524822577 585188824 156139023 164841301 829787420 107546846 970832798 836168739 735513804 257838857 199816460 321355045 373096136 788327612 103533463 160712441 744199832 553874415 521692844 617188449 506923067 609884050 774293418 219735347 141196663 838020607 756505410 144941299 463436029 966531541 119483120 506791202 422121604 756323229 255315842 919463028 537097130 938767798 874301593 501043842 288495093 530988206 477137652 793091426 312945191 450146504 757643341 180505956 855578401 649148971 656380747 919388325 344655236 877437098 872337557 486752253 335378649 926568675 990713304 821102392 753261834 721432941 719197485 344532229 263120517 449667659 642087457 361668406 326691961 168022762 214018243 415268520 286069902 566091404 778053095 196131449 940961602 212984206 469474600 116804836 169911640 323180277 292747322 543866159 738246995 964444354 255871153 143920819 731151737 155777248 866736871 477863153 469909475 236700297 935369812 797972221 193286059 875662134 803521631 466162815 707864514 310884841 853978056 571386828 991506639 235010228 897769093 844462543 122335939 858095264 881116563 527849004 657481223 975597438 107867934 709933372 760353057 973206354 585102304 248440049 919025441 828163564 226974279 397419430 805233855 204615454 594186344 965162671 626322294 322335421 888440249 286070955 159144390 243266290 694718691 815541109 315592000 437285834 610911952 332984831 911933431 149864538 267742326 528423515 432436044 932251642 962523665 852810217 737174502 177972489 160123169 333203003 256858815 447883545 499730374 450684857 717773031 798539190 398253180 309761638 821412327 919596403 434692503 250344986 531888628 173981512 151379365 772279015 952079142 528296024 562838617 768688422 891680957 270506294 542503051 218515816 824664559 143224695 916243106 430385843 664981365 254278063 478224330 206757783 637518461 947898234 839065269 666187006 674454428 268940746 408717431 952672904 454853458 351771342 714954062 136610408 228134734 136589689 396855037 555894686 341905092 172622658 478952348 219082049 764336594 562326055 448898810 328148718 661580150 769588744 732780540 605792913 492661709 747636960 801499010 986238445 912973929 487922068 249392422 646411159 942198407 156301906 322580106 997863914 447975400 217965616 201606895 866196508 682059432 950789287 775910298 132842417 211393451 681548107 895648283 834507498 661406599 543391922 447820231 777059636 596655321 501141372 315737457 764781460 989020197 230320438 440047220 123315248 204595077 966141794 146660627 770822347 921837247 259982122 556818124 291430998 507852944 477551751 673379845 792529258 240209375 995232915 913731334 581171361 983767030 365220102 132022465 388781023 481859923 677337663 363000949 761696593 943435506 971460216 151270542 210637118 284239764 939404659 250601955 871151982 676471503 869492674 275164863 266465848 699384990 198417821 707046261 476133678 435021277 834214797 727900510 140729917 712691587 722003440 556128581 626151630 686705396 759356543 854843821 562349174 650067513 944465882 727071346 874286386 229685692 291185086 513444885 689242717 884852255 405730905 133728393 314285845 294933916 205857636 689308004 374557716 808672778 898944104 800994015 863656639 949063099 183718556 722084880 301766863 215043865 601133956 682295673 880780722 609600797 195540329 604242562 290340604 804117681 801036796 897441495 659185450 344224176 467279564 262373818 552697189 264047285 288400307 741312957 873568254 684020929 675676887 109947114 477270791 841908131 528524016 325868241 401110817 669259030 292568848 150940159 829137499 937277858 427772990 387274612 735190030 470028306 547750226 834998524 446824958 891362045 418273797 612070915 405581919 985210743 763854344 770528698 561070353 646374562 573887206 941664899 894957332 291235695 791426598 991783266 895724041 831714885 769575199 920889122 562699986 783091425 738369349 655380461 570904071 978715916 848053538 149348279 161196073 708985218 317404424 439475057 800275078 715266674 676476928 696111823 251895385 422527439 745489315 586752833 909590307 408567060 306703725 672649141 621884774 800373347 963124098 909177841 356725471 480620750 838732380 134499657 453828471 493666670 120681950 318128612 287332143 748477601 648028795 410926217 672990655 304656428 597644558 999798502 447049911 297585802 299023157 551328457 812228021 328590953 332198468 238133963 159491388 328188654 692720126 231225173 313141530 369736409 772440126 555739465 768629780 630376807 425865671 523935196 598084436 359502645 732027753 714548030 583375301 230540225 574159086 960785356 337074196 991714310 956899366 454606557 865654156 469027450 615457888 168975598 416819027 743864731 782287411 703734209 534556431 884008406 545376391 477078531 591561018 393809422 493881868 602599080 847370701 849559375 609290254 394580275 746030905 365912007 573331239 605790013 955684150 449722631 899739076 785763119 875684744 507558529 679485059 397724695 456456439 441941448 577642587 665337998 151216194 217709335 932669043 465309726 684538661 286895036 233570727 114649804 492173120 358151872 871282898 368903683 979598221 585036863 590577687 659581265 917997738 416041951 624195031 715614887 235982165 205346917 897712632 601468502 524303877 781070274 192983466 728613849 653309607 993951498 659377300 684892877 756917578 376649090 557561101 373253441 946026092 724759370 213499255 364668507 857007505 176258670 863324032 682845927 352917907 875184079 277191662 214504225 293468050 277443354 818431795 444119022 691954592 953899746 247810601 273806364 145600021 254414761 826695047 373555339 125662256 313101969 191000237 836675082 577055662 843090750 743780888 231817430 154333785 145300411 688987613 236466076 217373511 909950361 235570287 326168581 188382973 250949932 288206122 710942606 274826746 250978853 280966769 435593624 198542348 211672077 663999239 647310816 246600626 549286943 449808681 783770627 718097087 145534771 378514383 548969233 347323020 945475822 332388464 952712041 926078471 123932633 127406797 304193036 587837749 318255236 958696512 554106745 644843840 221153683 759072703 177572555 114353588 261583298 245632194 931410362 814393615 200988967 655497876 543407328 409734455 986435825 448505620 144163138 916010916 174662546 437361354 897510815 876258700 853299935 607078658 995660637 274524113 652291005 344442073 743077320 584558670 140991193 941611729 860848867 278505095 796437996 215141749 760532504 901555877 972915099 514201522 275109965 330649223 875734655 183320532 401942894 999112625 647603691 799008839 381952330 163021341 986321351 362323985 926052436 970200281 511226140 578939928 620097365 296839855 809988416 769232841 697854209 320888182 731724004 483564668 193997347 151958365 610243038 122549861 996008121 335205991 487455862 680696452 623402163 336602594 295500408 198785071 910093273 550860330 110974280 193534172 813022157 727472484 466173329 970639377 317303760 577515584 351695249 604638366 927722745 359975560 994684434 394638814 618675248 226011000 547961260 796000141 437128551 324761257 153551192 277287928 139720755 841219727 394811315 513727955 422959396 236288023 479726488 759344250 552756015 468983065 985193953 330715989 543521573 882235003 693099422 512135713 644420255 216309235 916596042 512263953 650156633 535214978 213946127 186571196 391931548 684360733 936061756 217911072 155275377 895742959 308304254 973088156 486053958 959864018 335057447 997480829 909449972 604424597 187708420 563264720 742660264 326113167 807966876 102499211 664683361 158768739 812641054 647324371 640740562 446195606 113690074 897482365 909346456 809242274 979638975 390444389 546692674 491112214 703953628 778682787 183246212 483545200 314722074 505617663 329694396 412060997 755527464 511300201 405188846 212343670 885558891 158845979 449803224 493125100 189038553 660504513 359107940 919235002 106709193 309765172 572331299 926551033 276265371 506642386 713805689 526427549 179307446 179288931 438234725 748159949 637065703 131342310 978517901 992988334 162457239 460568403 304961266 658677671 822206824 790878978 845335174 228500921 518426796 122115560 162581936 973209600 572359491 603646577 979281510 316694972 235627236 774541973 843679627 491041267 690091215 641890066 623605908 293336134 274396063 296257893 137102901 156840249 806723500 737489713 680461502 895961692 968328537 618576995 477992867 592442403 158767038 289570250 183330317 544753232 743333247 818375920 172661601 281888100 264275362 525194177 913526127 971528482 622588791 775261481 330702609 721797555 598815104 526899816 492358542 798505594 135952134 601914097 746665987 570095205 353883469 759460013 507803416 734221188 323383809 371609534 772557278 473550948 711741117 656673716 641056381 774592552 814210546 917506271 900429502 251993698 217445541 998387592 680064869 885135472 192569206 246539569 177576924 274243737 675485689 636326381 938065356 451879207 733607113 317562227 116239393 471998053 156064773 130505799 939605990 144094151 165151819 162805611 114190030 232097254 756284629 347972101 896897899 536783424 575202760 406662283 589202512 867942309 966443654 842149616 682080774 642621382 639407044 258852745 607239708 600972672 743496752 737098630 972280262 471964407 161940154 831448665 178044245 321054286 237449624 693456074 412279741 917014411 826983299 469114067 838905815 402853758 544673632 706295786 230041940 631465162 111578804 285796484 348057338 187812602 660002343 579161748 114601931 360723996 171228214 564477776 290677034 642447443 947284416 887325870 725593378 678015660 584093038 828098535 639373866 599458715 805169917 569795795 818416624 881210939 744151364 417076526 262948587 942074088 471732000 351578983 741113731 847473021 167093483 971118267 933694415 947348852 383139720 147695307 174992277 602842440 825997803 320376379 188069903 774461937 542625973 264771705 305886019 286908926 790330825 107335467 260263419 834686345 481162421 875816216 175507349 173887748 449590012 882562133 467065965 602983916 752422547 835435095 527121901 809347190 377801609 903711563 648700004 939401515 109185561 877540265 182557130 894766928 914289177 118211001 359170118 263640517 154239831 713432418 485831274 416493015 682367338 747367721 125076674 461569375 136454568 682355238 954621502 509715770 105606970 616267103 466286764 754861861 631088826 115289041 198164468 722637441 605342888 858853286 341163240 741613727 550901449 713426301 338357499 826610477 552965802 159557447 758326170 113696050 331160148 947950341 790995854 970918734 506313389 429566875 721001368 730269854 845528160 625565637 976289261 207269471 915169211 383683696 689135257 861284852 241947277 141526556 989603898 644595762 225811058 223232195 860775203 670626282 421469322 900667654 255230436 494805273 121945409 402221340 609558094 565120888 171386004 919220013 769488024 541989392 881193572 737608641 471652491 178494145 528015540 308917944 663519327 269163551 951614950 690250364 697009564 640296421 557487636 632452239 583079552 145305367 344387848 251939402 346801151 767124767 705393056 743086906 468756155 691690772 746728990 140456025 646949787 836062781 549337987 847894738 200639178 325135092 962539630 771836742 896916723 604962861 140570464 732896941 119927502 992987161 980453473 163960079 882423672 271268940 864512093 274159286 593070326 676095142 605168670 808457421 682555582 585345565 311322947 578566983 191338862 232761335 401285076 462923842 315336309 755288603 463769540 504265137 747552797 658746718 460016105 963474409 955894892 700493308 522493916 499759063 554038259 411483707 478185989 771969595 465877318 509428125 300092600 539302035 796769954 373308001 971293848 547263105 157107849 188215843 218896820 150171707 909178819 189270522 549491338 376728508 675772007 846453283 175737859 929422102 986742580 330057364 123899065 538212290 510199734 191245731 207386403 175802830 424462543 702758837 485127435 190065860 127048772 273687505 877210891 281206742 789727148 725512776 769277042 203040730 473637121 361995665 517668946 585904778 535250101 234506496 625887176 229321698 997676927 118146834 465378105 725550161 201015131 809094227 189866142 355234086 854931578 267150741 364090469 573617726 480123208 522296182 246735849 728514987 763304408 265379916 850984094 276981949 693589235 396300347 504814333 760841822 152502738 642439952 126409916 755181091 912031605 277122546 184525714 602267126 367436283 375605022 226059815 365123661 815243872 340941801 456512901 799520811 966052245 700296781 667255595 986436576 279820376 956181536 657094990 313218092 557323007 526721440 995457565 332520407 870654893 631407793 822560167 336058544 297059306 613616238 577778838 121421327 775752783 539986429 518508159 565344220 106536146 696761334 325467591 131599278 878460068 829716084 164268786 808433326 678655968 134997244 426690767 380100438 684784807 392277191 924681019 669674575 224714186 335482416 155458608 859358500 787426472 731913673 413450416 661959853 342093490 458404454 233316727 177943547 104867920 626084828 626588948 285859223 573550811 376254236 355189371 182769436 163572061 850232375 446547383 131442666 382015355 253850012 166415407 163088836 715849910 332358729 709609853 401383451 470851053 854112203 611045700 470715816 465217425 266744285 908604220 972419398 659075053 806161868 667392473 102181790 396268650 854733344 913781830 192365398 257042873 149428555 977802055 721024326 428876570 938115253 397072417 867603722 650557079 407339998 294722497 295484139 688267626 307480671 473956325 737851426 709018612 227164704 520399859 781239928 661180433 537382924 908302403 551845026 767463333 972431213 505081585 801571031 568491276 765087596 737008448 216171225 656693541 771643754 632268457 525683348 146871105 806947982 629890878 251274823 166072230 818680457 896426282 448963800 861470056 250954656 199596931 117954883 724934154 489712569 757907767 860029777 429329653 124502031 772436000 673715378 918624886 499572072 869581141 546908712 155305610 749598695 389403747 369432508 478480898 139997115 941963834 237152705 309579749 387606503 871934624 213552415 154450955 600972433 506378705 591327433 568503228 240081200 602851136 104243525 567453929 538406617 249742238 283085220 854650453 466191183 997156737 484635289 379598733 465070201 256242717 110075641 957769489 678857739 217347689 967632793 656897608 571806297 857579982 592011354 822064552 903146325 482699773 477329824 993997237 174866000 602919676 108505574 834389912 967548484 791482725 851231666 778967638 657742676 796775156 312319686 599472421 321266770 789024875 618811897 733314696 224923423 567921068 970609963 145981660 838980931 298912223 582861336 964124240 285621953 240714451 154840663 746909913 777114531 206474579 455961740 433135762 759353611 363917695 692218107 789639545 967339748 229740258 222356889 176765921 650410452 346634089 554943791 128616747 582800997 575785577 399585862 324375156 790928974 657231405 543811524 818070372 901721014 143040365 751222834 749623291 473574515 619694080 523840348 341171623 344114528 483577428 127743265 447573900 923934057 697449930 359228505 478573054 567857978 917068650 623391795 305943375 534090344 372800744 939024675 711954764 927059670 898369402 332950911 517010874 558522380 290192979 368288087 982641148 630508450 164163011 526464783 623799569 785041834 966829439 498335977 977554444 687588078 326922523 150498240 816921165 632110594 654028361 268095443 674357309 602707749 368220308 690785789 251788010 809408963 116399278 726749509 471310166 647189463 530908362 261789832 780398193 961655780 559393173 398381841 125829942 825371878 750356046 830026569 911489780 826914026 142271592 739028472 791875442 556138975 556520073 618205651 426796175 657123389 379411544 904301149 738859592 754957044 373038443 659103224 168246959 677692502 776984181 582197619 367847374 555281942 292939308 379973742 914839199 424220952 472489845 428945414 721292150 518464978 495317798 624071426 455027511 293802677 299982902 796343010 104967813 776977270 826064291 926363937 442414261 660327195 227933827 519511529 208311521 148891324 752507733 971873725 563151547 619713906 225612233 279221875 971105447 707098476 997338054 632718184 160341120 332780277 123866576 222271128 250381979 390370072 913023083 268469592 699929928 634933459 645866184 385848714 500789366 478378721 270253512 341814162 749753532 561978824 247891044 984507420 615457386 531882009 609198441 749856043 915514509 495693097 429756287 861433589 908779783 970484687 650456485 119791253 885189841 205842411 742047614 401468193 565976739 168701475 726307647 575278828 605650487 318481227 820151354 701437362 236359554 943462739 442169847 964972979 932273834 666111763 478668537 188909275 156289790 444807141 367492725 834362827 645208040 823595244 848901417 984586632 993870359 377160268 734980875 151301554 530207151 286696650 511752267 417304232 646028443 821102282 791238221 672661638 405752685 262031118 258601079 736486350 774025211 848952533 889692483 793896848 173722506 306886331 405382217 709655439 261422014 610155132 903449029 639700123 405823712 131458928 201721214 513415314 483048944 230292041 458117889 143972254 308115913 699169869 649604744 593533578 923262197 132990646 696488615 290764600 740318139 420175837 198159607 540851884 971338802 521608075 807249230 991098824 654634779 475841983 710739643 115687480 355036427 268319542 140837077 485600996 136974200 617941267 472565081 248848318 618079743 254005577 270507587 359076395 325388285 444291032 714543737 772782242 981743990 785807848 613322212 646215314 129317099 798676064 507513263 588152043 775296051 992156432 201338683 287569675 737663712 532946442 506418894 820227270 323978657 966052219 122887958 498889055 181491011 552595478 354950888 533808922 205143167 118334568 307797324 141350304 840900322 536743027 296352194 956870935 763316898 311080927 707787991 725247212 625973092 376183639 742761603 773470535 682367347 899396791 814363705 266272178 729201035 253574574 475967297 380779014 580912993 559485340 664891469 848666591 646688574 425247516 116588032 750958921 465218826 682973517 499516772 444485807 766823643 427793786 277219718 634470554 245617434 859431058 901117844 607731948 315269539 469554781 494278591 761611990 976926682 612310524 975082894 542101768 939947809 261744077 455880646 393247389 522248064 199076374 973241425 651808251 472337939 984257122 113776915 199782492 631539291 214439872 111001220 473973277 478056012 650710468 798938946 305501361 572472736 556914369 198223281 859266555 968516961 492803083 210186648 507314234 324233818 776051900 696077967 885337724 201490794 432049877 243522878 430344507 489291395 458996224 935262824 562029072 347739557 489347772 927815134 204844431 708181762 154264034 283288569 960265909 758856273 472783764 785686173 463521519 666042806 108533055 798491891 741210777 771329618 306865714 521884442 169000856 757710426 189490000 421450708 179472130 889742799 543856380 899538687 913199541 780054980 223177250 999475383 438624673 422713171 347589538 513046530 955644204 210538023 693888972 927747412 412414421 325094866 963151110 695016545 540606502 947978010 168571254 892086949 170200290 583574816 995655394 793510196 750326878 349036892 778319207 396050329 642759716 322491267 399532556 516714080 341279658 214339478 221358142 829366012 116035188 981654400 146026143 854223948 568754075 435074596 699844036 319477082 150620262 770063037 724340756 418512993 983879203 302614641 374651804 381635014 253796470 283273408 558465940 291660795 614280712 125275308 657475551 934825774 991052082 768089912 787130215 171136695 682551090 635025486 156596172 501128163 349799603 540152741 565947590 416935957 598579979 766574580 416185805 390034380 270285129 878658786 325592251 646676995 536543521 463729181 382870600 178874942 364371503 177701905 292160025 182527162 444134443 793223014 227930847 888222927 664030845 622903899 894788939 430214963 227460546 712693160 120732336 744991208 862535540 417146800 878386902 754470980 213871539 840864243 587671051 881575529 335405565 924626233 493689951 435551109 137998622 740504048 295618083 964328961 475861224 709309501 775886993 952012505 397081221 911213770 509594403 507230446 368637277 120350870 949353880 812002475 205462378 485318428 548691173 157331669 213378243 343985389 871113191 817256109 764291628 641163729 632827056 902075741 345753833 438720955 933840399 649101212 744784794 588358007 254074240 574711982 522901503 604426827 510631249 519068879 221792512 655689199 666823498 921596908 949496750 945952790 164906589 458337585 323076152 643864851 906781508 114084548 171977928 798499788 208073717 951934005 530560283 714793033 695741439 921733698 819004540 769894662 299648768 806434438 655933305 778726405 978850029 208246465 555533208 337297295 389558198 196625501 588748696 324820222 184762742 848691113 151752978 592497057 578628302 756937976 899064742 571630425 591187581 235559323 428649322 615267399 167278097 362331364 642553911 792308560 937361948 544015477 675014482 251459683 193039685 817247345 233086543 104394301 558175903 401280079 987347971 228808163 960824815 490553415 526447243 722454828 884717080 994128259 193393829 532072169 897052566 462212312 477256294 510434846 645362986 917703916 200843458 332503945 178906965 210159835 415176809 244919674 914450680 105190383 899298335 557689831 305140481 319327832 130531181 378746722 982784297 781272620 635920740 451609268 234778553 183379653 604438082 231193847 429584330 503745930 451347740 917348944 376119840 369305913 423738857 680561709 709674601 298822052 845674904 669376359 866704372 828966597 208246556 535822357 985156279 312047267 161811227 982328496 435606616 868260048 759132788 749587819 651474464 125937868 712042942 491614283 321155491 978717850 763673350 785447582 390004176 692847125 179175973 697807487 671637116 569791977 735852187 449700288 352315265 691662958 370700022 260451870 689539757 685776158 970906431 524112687 846980249 889479258 221933287 565020683 627269670 710980983 215543271 287976304 511853397 321712107 653919772 401966641 780470547 499631626 662035601 907281772 657201092 642367560 334256428 473723188 131398774 769531717 542037397 108696429 165167309 638449280 390536030 850486712 621958955 332270753 694998196 996339072 179856303 743812514 118912694 991853311 991321197 992961189 571747931 884568804 708540025 642201088 702884616 288978100 326712896 403218351 840642752 869480861 329990403 220807797 460973163 477514128 295247064 826512952 952714463 896303013 520981838 569754340 653563105 268410643 908566104 299283423 345379959 308022366 378734572 194467105 302462657 737334262 368326814 945656947 819021623 600471808 516118901 276102897 256147785 553274730 200069584 520536254 279890600 491337578 761747111 201257618 385326277 652541220 943378480 913655219 566367128 948941577 115783824 588623247 381167123 120913097 553437505 646498501 529322307 631508792 361781390 876821203 996838374 686642907 187059632 224712953 774475293 157027792 998612378 424583198 225134621 411790165 593681419 936585956 816910587 322395421 838549083 987257788 719831657 692193090 551082426 765233883 639725524 134791968 316013406 542547426 143189469 750603342 262536757 991824261 122519683 277708622 172695192 829303809 970171143 120947309 344542112 786622848 714220496 536589995 184696814 135056530 409468134 473037489 877043067 734544062 755492202 173816602 850106876 786009955 731387920 695047208 885473332 840411482 886163344 388006948 221411217 116171247 894891579 127218945 433101185 759890844 227972221 121817413 407557235 338898311 849742768 997491724 839743380 569471755 467849662 893364583 837589574 331135490 965444581 636593968 171705628 814903300 618043482 451725383 985005898 931483897 750482639 832626493 919518745 486339351 121443146 476174067 931187455 550938616 496596058 461594629 919319158 323866007 807101886 717366956 575261809 849191763 730855107 504268654 903920740 563461032 380316966 202134832 625259951 285094307 114895662 394362195 364162428 815268799 857791609 268894075 136515786 721672225 333577688 633276788 333876214 469913327 311714390 964377122 559988808 877335038 333552251 588007864 974044454 406657821 100229365 497886028 299929648 400020005 263764953 325357621 758377468 842803636 567259989 410988987 837234563 909512580 989226797 875421276 149354483 259345075 104984453 812489615 379979937 649385369 129676108 513868793 640537917 293580145 553384626 100034352 117685756 529850903 652299506 793218428 889659439 683571816 606537407 553721540 291852446 984364141 988964313 421963335 740974176 107155675 949716195 368012244 645845930 706853497 277061085 451871779 147109100 738372010 239932586 655033331 707718063 695691794 335019721 253161223 307176052 848426534 205193681 957654792 149677319 995147404 559953009 310081972 925095567 440874325 243706310 465519553 332807300 127531084 185333514 740393806 971574336 555397467 881626025 119658388 145546386 221572140 244593936 861277900 654885040 283374013 604708086 877956202 365705157 292533260 692130441 940978549 826530742 307100258 878599168 577933184 235706118 878172625 710167912 327938642 495067423 814127484 815434161 245745405 282679072 461525853 574776348 351634289 730506747 268529318 535225862 324721335 166484593 634261855 187543515 783042388 440626962 363595483 614170024 446503944 439250038 847187017 720923734 758984551 104700735 412577071 747718972 403167154 937950351 402655402 681191261 499468043 559586071 891320719 713334842 502809873 700829520 789860222 694433649 405445503 626388747 542742019 316961179 803859583 573108893 559505813 925139261 671640363 810581280 531308246 935466179 280964328 817215540 197847503 194487747 658853755 451864706 455534740 164154076 458991484 299013132 836134023 614431400 309192165 387957495 131801142 945775995 746911446 453069059 226247156 136996284 445877098 671412705 432400355 599421067 532988021 611869714 289247410 539629233 792383178 256784172 286497944 427021202 769178911 753636572 146674060 732966955 460897627 262784733 850776385 943668870 814232586 308665405 835018223 713089635 494225924 943235805 463646110 315240223 498353798 997824369 468371825 313956393 774705055 980989499 595933534 434873701 847857410 372593112 551483229 931586354 353826499 284266365 740222922 273048728 501715665 102470300 691688985 715772805 851263776 536620777 425019322 724030148 406457260 896730506 316913116 362178184 647005471 731150980 125002627 964638867 456956548 444961764 821039015 908363473 328961674 366133983 725200476 473305301 620446703 379997657 890863242 979895992 694310159 423562091 842170297 778725063 216954648 365318637 611776350 818528183 392905762 984975393 402280756 689294073 599072651 403379891 763041843 173970752 255343840 675222899 650668264 930712220 638667621 598239813 280835277 240353808 141995299 249686497 738298629 483643329 421180514 399259286 485121256 156351638 645011375 727745051 230019780 367892941 415304080 715287270 819913449 803523202 298821309 332680437 155190479 794694403 821623731 746405268 123520265 791020997 379169995 784716846 785889336 121265789 503886609 214858944 361177713 314524451 385798769 272693392 631437782 498959844 240787367 125150505 873347179 772922047 179254789 163980813 208950858 403049356 435684807 302068810 833797724 190785561 740644436 276617762 767114376 315366761 479221195 920984334 608511642 407175788 118125697 112281729 335712000 585669492 259574415 633542173 195205591 530829086 728560960 152891056 764338490 369891807 543554813 265196215 527849317 877319148 837959048 171404177 655640174 920655967 286468532 226954631 943073272 154017941 208686895 217151065 372298635 147176390 233549504 245619519 587742378 638019740 879064863 979266242 610977549 434733262 297292623 568686926 982960811 559770579 146726930 245343172 329581692 176472200 491465874 709408313 913448619 973100789 708040023 878284003 828413851 644514823 454813560 759984280 176404962 433033094 455509356 281268726 122953913 602737652 188234307 797958412 252563514 241539073 554818918 331078880 740066854 990626527 807279920 292226169 616688559 420822400 496921355 773383516 370957910 238534152 452187213 971178994 240313208 268741712 183912079 650938223 353769064 264471789 213642032 499410301 876913627 203424629 906639340 293551098 661596643 646367672 128763086 483241015 804952174 192019462 478499384 255093714 144365677 252497082 714213275 883588930 932324244 624670400 316740690 907105858 966335598 788383451 648341688 915927968 137247684 460605980 344688738 879976189 140832845 970372008 479822868 949689047 829293281 569597503 549508831 165985744 148974591 741258652 307126340 694457996 639775939 808873951 165509748 476720971 117435185 543735541 630819799 652748299 470848834 432983298 995950376 259804033 251868772 285509141 374835704 933017727 171953717 854754063 121919208 363616918 643446340 577681708 957104192 581771221 884093504 289449199 127172730 878650740 868605279 259994210 361535347 126263870 653198899 702622748 760060824 109509904 659766697 189937823 623806740 642410407 395273070 158015109 746631859 320341739 734712224 570228274 904694128 302007411 310324293 713583233 550799786 405997710 468765171 541617611 763373784 696720799 563503268 897668534 137661287 575665686 460936799 660814872 275872365 986188569 719464429 578108704 311308514 932568446 686668547 102601120 720277608 801838407 337620910 489524352 954975194 912739626 497447702 636932276 372683199 843234688 815847236 943885598 868555528 563262581 878978639 750993101 303061531 956912390 404239622 899394851 742447275 975766495 582043475 250839186 702539743 497758975 438083008 869308620 920595405 782928593 902556272 377289275 992967281 643774499 620973878 429156541 255732537 522409319 599907990 322611256 214473047 130566544 603041023 440733976 724941086 977925562 752138522 218763470 733082160 569054749 409873090 123363685 946016987 986485874 864951076 801487819 884303481 257453762 556358269 328930501 895179505 870195871 899877123 265262487 684133931 764705987 639826741 156145169 583185026 466532165 868155564 130876356 817686670 882314905 781049620 571332946 753457991 783494909 504458002 184734953 733336317 319317789 968103917 692303776 935359392 985634927 309453940 672546059 379420527 566818620 647973623 223689427 791546195 511930910 271805191 287189706 234608623 735114905 897956221 279170012 441389290 567965311 433913302 262369744 289778799 920107524 860958184 475090240 682304379 568683257 177129742 555333992 804473582 390759329 231005519 805552735 597520612 520734912 525864895 904702572 149832777 817438650 414184918 866167328 329601527 795594134 634428101 397367943 907238343 812433175 806629307 889615006 127603100 704386548 738613854 428649490 372231906 510579578 854021472 232719069 817935883 464179180 221394991 516032288 537944654 243818538 507486604 564087637 270683013 795182152 948892851 325060455 584714975 966768577 331385091 628318327 217055906 627822908 298354743 900189182 896630479 942882176 533363116 880952104 591640739 638286426 606157941 379567700 550320749 596326506 568187888 796156375 935535122 264217996 959372397 457542464 611486169 519847121 159835293 300059081 403283409 808390355 884147238 780287061 545231058 648717577 522128002 765164464 189507160 657693947 746710656 171343505 140152756 510859417 603963355 169702565 848883833 517365398 262510742 678373621 428526607 455825073 154698752 856562076 356714160 816107845 873056753 926603433 963003039 701399864 273672722 957630463 750735929 247337629 106091755 512377696 405181050 269637764 141752195 772869177 861988614 916284445 675723779 582350575 678453703 261734671 195475488 431919791 808237908 434694753 787126811 834850717 682941193 899883484 112776413 639635111 110890815 417740006 771283588 116121367 788430953 771995969 101792398 586834188 970228068 139905577 638297867 153777334 589898966 703783452 751028756 824499297 600074143 827868219 412255271 313698184 613757803 138416714 371173974 260304783 361082748 133420236 179420222 657633916 396768602 890475050 522327940 405110985 909959255 859442930 286138305 541567507 895038993 148070084 659726235 638782834 215165374 177071452 337780318 637969018 318102257 950141038 851210799 327649639 329163722 400352305 658314911 123941889 341669611 926657975 913847158 907900392 647212435 693289087 333496303 453597625 637543378 966658323 112102231 959077294 380949947 285437860 882183288 870654565 846964187 949624775 247829056 330432183 325661020 848394608 581109070 214099659 422560250 336052327 149270931 786194259 176118463 786772761 219383560 350400458 285131096 460976127 708458576 424726540 140753833 357009016 602244097 173937706 455402646 434317579 478498139 121274167 796885787 738447380 152418149 706668598 927099654 394198078 597243775 403360861 557106378 640148180 128963384 897004389 635336603 239541689 269411216 599796740 714224016 900545403 406666045 593802519 448257939 420734724 896288910 542185036 650509878 721458553 589920737 831412137 546730582 320799303 464612711 103383397 164497067 523806066 733365273 913140146 699207178 927182248 317221506 506386008 148152078 838707923 526992480 715581418 547239520 350300026 933703535 393464342 919574330 755727707 437595052 713123579 205307276 253540601 121642099 170159358 340003950 816750794 980189223 258866087 242769392 839417068 143271982 283262945 899268911 792850801 381248629 577394660 284975535 931338320 609643301 736867118 333831060 149164127 854445766 187253694 773282774 934651280 615108401 453112975 838067252 831394076 751181282 828085314 946449434 267018030 643724779 924435651 598452639 331192811 944626645 565154861 231799551 477837079 245025891 671169797 854997310 318299402 695243371 364316831 465668511 896173978 543504658 642726305 528987151 736317105 978913394 557004585 812540177 390677971 742929479 414410788 252679428 124717672 676741711 247741645 969013859 361545306 787559368 314463332 585524769 501141055 774592115 483630984 861646354 706774374 508981964 553071991 433760740 566372960 190900133 734534579 833193954 475229669 269786659 349003415 485212598 347218741 339459223 368009380 915131142 272199802 208160320 971600205 964833796 834373459 914048204 555879057 141490327 992935722 379547156 761536392 175948056 915480521 801002964 343237330 150270208 219531173 601461055 140947619 711169728 524879240 945903153 283811486 835943103 344565323 595591080 982761651 879336794 796636638 123493057 397539623 866512457 358548432 122818785 529588026 298804805 294215425 419808933 975280526 338589363 872600211 627851414 970630151 353591652 586075552 988596028 578112954 921645419 712775018 969208707 490484423 491283439 802876245 729303248 348510352 244231537 517407121 373022252 130664653 849030407 823821054 347902753 269058845 195551238 447147265 713227515 257236123 237818963 101247772 959522102 323655816 414106299 452360011 237380745 304768078 893579953 341357870 916545240 153042433 950753710 278781894 677356007 863821890 312177307 704498887 503084630 441055976 698416699 856890940 119065448 564231531 738654757 403481987 869675526 518772041 232450612 702805990 356562486 191025810 140426835 636482213 370373201 687621429 115501454 477690919 307271177 573957532 800566453 441445010 789821896 323460843 870469316 885488140 825123794 707715416 333334066 903010116 890556491 581387985 525114816 334900432 915736723 546637962 587570724 855260892 399603988 661601297 846669510 645993899 193438596 841529627 930860317 448817328 383995556 365434132 332703733 803181083 213672414 394009551 361853859 725131919 324396066 185240928 387082492 764427087 958171070 295698675 159064017 570059449 445722703 612642182 567942107 172351701 685293655 156069864 396944670 250500769 498912400 937155542 173449544 671112443 580005237 326069413 511574484 998681726 696301649 672746547 708007485 376320919 702546612 317737118 139448356 351375496 421466533 245589211 144922079 536524245 502850662 529133134 441443083 162554026 747285850 665930973 716452150 285211448 642812619 844475602 980450712 332509541 100373100 195110773 572691368 344484573 626897980 137581443 657435015 697345262 984861550 840395704 733024487 805765167 335701150 319764229 720901520 761833214 110721657 258937600 802720410 819438545 153421520 487955938 944344147 219343212 625000734 691194903 580314733 227912988 712863761 394946056 509743249 227636618 389008902 681513541 139934521 556376356 983431764 778100226 527533811 184688087 129510224 452732569 492230383 331127745 592450266 508696374 542386562 485117841 106394703 764789234 550563811 755635708 171801646 977750040 587938822 612034961 930371599 718053439 548476904 769543228 722322502 548369226 376804042 151164373 845718047 926816199 902463614 244876085 519291420 762126369 675200775 588293302 708769408 831792366 619206098 781527790 650948839 937542051 134856940 265210168 686202552 794616396 180498573 517451302 537173753 268148472 144449571 881215849 277000696 644393989 319948807 795095648 686498857 116618983 698327353 534308566 207396863 616732855 462862102 640228175 932309017 185688734 870710570 366336445 928242133 519061751 504605915 428008190 124733595 383309306 558390577 327730257 272537147 567443843 419305811 710726804 981792875 483718959 692367495 753141557 874853992 399223532 602500166 557596797 684473140 909935908 352077742 587847296 139281089 265525905 580746577 631728451 486716739 130161201 527218258 366229254 334034086 147682358 474807921 550146194 128133038 211683984 235905362 301039264 673098759 374238195 743298739 549227506 919635469 515580628 566084340 867892330 535308709 319191372 941068435 402943441 505689839 937395597 901854949 212820741 249702084 659697588 612490398 899238108 810132580 619734877 645498250 156717505 709050532 174894467 348729270 488920840 346557709 970998157 703050396 208777300 470950285 307240330 611923260 757552345 603163588 875480266 299219158 517297357 526375592 848670576 498325299 262040808 546626714 637321361 491965994 593630133 613204128 718932905 890580287 617308819 521720369 996840470 439530538 148541296 303793984 128350764 732400476 793918958 419762766 459186559 404314847 771660142 408964999 193955625 661975519 840868503 215919293 710540381 843704650 599079507 754484274 847302705 860154849 902704640 532951363 909572809 536135374 832797966 725634366 241692534 533493119 113062788 982633903 840938225 253698426 588127949 755169648 500953367 540479662 325426619 507831769 527094211 512650883 171722198 598110327 965644954 219869094 816116126 270376222 733274983 425457435 276911390 646448464 609007536 505750401 640827210 922048756 877357343 353862854 806837164 726811218 419237362 889850986 245880554 879608831 914847115 630637278 740268811 746376276 580068610 226127868 949684037 722111318 905897417 134168044 661002669 372048738 986631619 106743691 417043954 941244561 721588923 240955885 425597741 108365970 920780090 514295220 119820597 344482908 981912105 494590052 584710611 725068668 582047116 660641592 931155147 877784462 772266796 664486933 324074681 833399345 164495756 596664870 168141409 211774565 671629611 818793825 876287144 682978426 500760159 593748524 427692220 852431471 448444264 266889773 326809336 551398368 392115173 474971617 244568572 918590682 104780037 326009341 901552953 206727903 187478788 797253218 410740197 592229391 278593852 242751190 215434049 889077557 539425053 149679755 698341928 649012589 208280213 684372650 876410620 127617338 368391016 699363783 795592344 114652541 327602901 964802678 335598770 258835074 279678513 511816282 543116711 216757606 407059972 650066372 527906108 657088799 859151725 645028509 675878370 829495326 839300825 155358910 463563916 131497365 658105418 645670549 233822761 779920043 426577205 605993062 681813249 536808587 758225773 965263744 104031602 887954901 732401785 495746908 559456856 610670463 306316479 476729892 175011847 468743698 289289336 695153993 113971055 352148405 868847096 108348670 490354247 715050891 941332182 350895391 237282508 568086919 490436401 327055819 174975755 375183809 387927381 474966257 739384582 980547921 800225674 399758336 584427096 990612315 182206100 853320292 894560087 586345790 604278662 423556470 338735461 278735265 615945512 585240999 677072818 848570454 911194004 338378567 527417817 346003940 114434114 813089532 383024335 727840733 880674880 896672733 932762893 712367459 463532654 106427376 839133963 448726275 146791723 226115027 279350729 233829733 692206474 601905253 592483428 840479122 113747358 439775270 621928814 261621495 949815603 213038287 714136606 535070115 218420240 451232523 378565461 585584596 767867204 379438566 452883424 325993357 616884090 595701270 815008847 641770084 703275283 104826651 437947376 956883481 988076560 166710954 462590909 958080125 809096168 965514290 991764476 773033324 817097809 747045726 897513739 785281863 824447198 617291666 765469157 796017404 941273652 356053147 818381514 312037406 957594644 558405792 982409805 662118159 226246969 158101800 126186804 561677203 547162116 400623873 591383403 824295786 745738484 914240157 518101376 607344456 124813608 800531779 440801761 490773590 821126984 351827615 384055249 709894571 861940107 857472529 121852770 957439830 958812252 433641699 672231847 198732490 283038015 809263528 241161274 289484297 755029496 335834525 414651905 669847699 957778304 761145987 949135176 452565168 657231361 696084273 192260005 375586002 894743762 128373929 608561848 803325208 467352843 428073370 175631393 762421070 703134610 295753979 261583716 817675031 470494070 931164690 122192823 300664343 333730410 165149277 624018612 700335572 963068303 774630451 473530127 907842245 769715016 670297741 144563811 830771765 980449794 329972757 187090043 675885563 722466971 638077443 166290749 290489516 288630690 529165954 625735386 813521136 616440840 317821607 148980745 701061157 580354825 944713882 241794120 885338962 796165056 511329300 934688110 395596792 118482745 294642680 946487502 780313127 558077839 578577884 319253552 128534567 872537419 949671300 293213795 882708788 168621151 832101369 291286949 654110368 208184447 182954788 162119395 704365329 512202666 515199010 658703058 159972647 779858088 392679501 251171694 991731420 588005335 853199750 973186642 900098980 647594375 632091496 264673687 103539662 381679230 476554549 276867346 820468958 929833101 762166565 864422925 714560124 141786398 720429737 557575183 169466228 514075660 656021566 715264826 569670183 253805279 128567090 943613673 208352340 805706848 378107347 351838041 362375550 471590136 835260804 632862926 872896802 124955692 384237799 595507369 321686166 548891889 172422679 140275925 151329348 596149248 550047801 516129416 801064288 754365074 148897602 569848271 539891157 603978040 948366774 949050457 836969425 516230382 152974928 436588873 695030901 257573236 436182221 318211818 865890005 361733151 436282203 442139325 867860209 100062300 851853916 647844186 229724924 848774943 695326263 302282036 964773192 490274908 310938429 728652229 171101814 602952102 116977323 942927788 930314267 220111031 757648076 289671622 865196189 324704998 159825688 147097932 858592325 146570914 426753859 420421323 768503881 820998743 869249611 842981666 353707891 666048272 272929057 742472359 344327731 657637878 541140111 587809656 654508554 126320349 479981056 778995860 352364971 233454748 364218920 120580341 933148676 533926625 115331067 679570536 824926466 167513399 266786468 996340158 367365763 125051057 583399750 774746724 579190789 551676885 621098289 517892311 542024978 788676490 634871822 200979936 533822420 396155996 833906414 533344578 903949279 701263259 271602118 832869020 545974574 893644348 281801084 300721512 202180371 651572909 173813007 516393446 791218051 800520013 373769268 298699057 513826461 389708308 946661631 536155223 102166711 689058183 899577867 474138922 856143679 549897899 497424002 953857065 283225963 526218331 510775114 939784447 936159997 406752434 956675083 110589092 100844921 272663648 283147176 792592440 631277093 830401145 120863338 264658452 438225881 613861250 613059402 215108866 895674978 872218161 721971167 172426935 999023556 833742539 905559946 538649920 538581257 446995006 373464267 151871748 378457735 332480411 747008947 142916989 451233093 704687207 588361241 521740168 431316800 824485354 273213716 878816741 170801387 637887763 924484913 657582335 799090213 447736389 490356609 413552147 890456693 907840183 303646750 828771990 727331446 865870733 766284639 814702022 732363777 205495979 542959634 254767527 584192549 355643694 829333872 435724397 470375293 908375989 382781095 278372723 236090566 427999191 934553911 963237917 931931927 540223377 443524353 827676645 316360653 945902630 363897164 357727336 271520586 643531211 614168247 144174302 475607882 988601572 446073121 470580434 624518759 625990210 246589075 909267002 110221269 690630989 422730306 697397330 222508640 158465092 929729592 290879892 797629670 273240643 774573946 857790412 435650502 450443120 873259512 369039103 359998644 221443672 362332288 989256575 817939763 631362714 663851649 167206117 851942343 450928989 374568884 590884277 245950369 954403061 972153762 352562861 636599087 972670144 574805534 820223116 755882645 160382293 907850231 946694417 305777046 378838667 497224621 459053371 316237615 839424699 399824315 779217665 308069808 442461871 925445328 446522071 301377046 295070270 252140342 721595797 547260337 617525295 195755736 417514721 601413343 921500528 668403570 128304897 974624018 388189915 248558536 654523607 512132667 490811305 753087784 305438679 434273292 518954980 282454747 932744018 471462027 106527240 482227739 579239394 124035871 848245957 620827605 402782114 135540943 359625111 348613154 758850720 509576119 673705635 995849659 819908687 731781529 532092265 877944256 182680627 141109700 914783556 975876933 461155811 788390701 362676565 324261551 183380600 717077826 381819180 422601762 809299181 356360338 909993948 370347133 803944885 596736447 403142924 175355903 974493123 720035051 321990577 984936434 799010923 746038508 169658802 299988863 913994780 334305795 545246805 365336366 728074376 411676176 939891904 902744910 768793360 971010032 159158937 474272593 773020983 765974454 970678762 260757727 527658105 662519718 233284475 899767131 211502831 730124056 563124901 156567300 646605725 416180116 827988893 378511453 622053776 315036241 337854797 273759551 286306898 401298420 869729856 833424388 860902749 297400359 714662538 173385305 826077741 390265625 374620022 764801515 366331175 182193558 804973586 831089593 588581466 358354423 741090018 919012669 163329623 185900938 227382839 599076509 980160581 669530056 150844849 236869595 448559886 420833407 686122831 756317487 507081730 148078732 413197537 122719304 555120570 854192846 941710385 240166520 314331619 265768224 564164879 526724049 650279940 256918685 341865625 206821716 697331109 135437761 701851206 701486872 515374443 693456971 718788955 185978146 201906599 244983456 903630942 875084481 201647756 431287234 276653941 397214775 953646122 213297194 665191582 680432515 200913422 447104781 432008731 938028586 278753509 649475299 700767524 270601859 946371802 603488451 175035754 354551186 540950044 276319833 389516465 205654840 264289805 639003411 181610525 519078552 755711245 373736899 401986686 546533258 205115505 253078919 970653274 365460965 717656149 286531635 555294923 497088204 113373766 295005685 148081686 878565713 442710487 541734617 702047798 907840026 704594526 127257997 453935299 336110238 550346799 955116227 366524481 474538434 646127036 244865667 975967384 197543541 370047070 510904979 502553032 817669383 722866997 834360724 363905050 432469924 479260460 666725654 578766246 551496785 377805583 634441427 691540337 786047422 359036267 391556348 674953761 648834236 654225443 696959497 387964930 319067101 733760928 285921155 433611445 319583707 463479050 990437322 411600404 511015572 918364370 492888449 695062207 337942506 724479630 950024787 370206620 808662170 508580406 574282457 258902559 997766415 880432690 968618525 979225978 121293085 508499554 693728359 700276038 684969671 343522189 870372292 603709703 427812434 343952128 742800758 523307835 777516333 734951812 553866250 971322694 257420103 672582657 839185553 750909595 170379944 237450404 670601162 201124738 110111063 527430284 238174986 568466764 700238451 269627230 199863314 214822419 944158643 792566344 141416256 284363773 929030718 878085943 207945926 418195457 691289980 301528281 755878296 570602729 551148231 166121584 158199615 340204257 394995370 900693125 502826099 843161656 755271298 236447349 915052186 100582432 321134409 884808198 359990864 857924332 359181246 209126509 254922600 710365656 664852880 988752601 310835578 451703547 144871914 274924048 367825136 971210221 493257280 274101342 491792019 325845180 291091760 125372499 713042569 839116041 732557509 864441438 776012943 869892194 122575310 131887619 133566078 503281888 695443371 831059400 850266543 304412099 626420497 241916509 218248553 782670311 763784800 877611946 620087104 711805512 358734476 570966405 247390945 182314795 974372552 290475176 722239136 614240058 142325286 608618533 561528958 610798917 986213646 966531049 954551126 242037797 198665306 876287902 301438710 285591992 922564228 449552675 843685061 975553307 792251264 974093870 539446716 338784621 948738324 269371979 878949491 988213826 733108558 518592316 921723300 911503679 433131887 113045234 304084273 819556739 322454058 622928306 985127051 910867867 369976421 905289799 231046248 808690340 368614238 817264148 732512349 781331878 444911141 697892917 173815123 639367285 826581270 987973424 397959710 537914160 453763107 347921453 222102138 867916982 518383501 636409398 866114390 323526547 842328023 881877870 728122021 698357999 612090253 925257790 924244143 661683866 673433633 673026049 210486428 838717144 535367555 689787428 554029654 596226940 133547087 374100234 659969352 477685342 486898969 844977943 382220351 116412252 622715343 583551026 306966727 170315139 960037704 770654540 437547482 457090072 548884474 239914272 470469031 522244484 233463260 682014627 807092761 147188210 283007914 947925095 787239480 878250592 450629443 644469017 635996276 758948773 648971624 995429171 534271293 619644606 303508663 871581287 590766872 983829592 296503770 611066332 130352058 553569639 752190227 698677576 117789962 250442261 409619411 724999189 634015665 506356000 640827149 990037689 119896122 533124840 664210188 163312107 969874561 972220559 562346256 166182347 436564832 804172383 601434287 159864509 130514517 224181429 615039804 674541750 254035398 903713345 503242575 666489721 830879402 380538471 447168346 320610563 470434854 262103917 830238407 726905129 411408038 136168453 296316440 745401086 291563023 590491522 888757777 742564739 424410295 208647247 962691734 816620491 180621528 145747802 854361711 547825842 527430829 240168666 584327246 167278434 615693727 865219461 829196714 593091385 988151535 259152198 365621511 215933055 633217889 149157749 423606816 613863814 224975137 556459708 893725806 374109746 245663828 820068644 965298217 396715578 281006428 814660690 997943785 771569057 144705570 706254245 185020432 992625717 145336584 967298350 541608288 268382455 460669074 183693209 749645377 738655155 435692391 721169360 786307464 127354152 216146413 441482896 301447304 238814399 383475602 584111469 834770099 182673947 275444200 815405845 386209309 924063739 294965111 344885395 462212978 404551063 885994929 507171204 484113853 208440828 547936673 494087278 951278398 556610173 290623422 543986593 621160708 452070954 574488001 971514742 165545383 493416791 458138613 856098727 606246126 698508865 239123814 904485525 656317377 131444248 880675536 594284870 284411691 978684133 951144357 891454910 148783557 770219937 583411273 481433122 307105862 969355681 400189068 342835847 580601194 438471910 656287737 125853030 521334125 523716271 987029203 979755223 907597403 819559863 940322602 537650295 825835997 445142344 297795120 558236369 777178913 508071372 893821507 452843340 613818460 283280444 797041263 260429694 800825738 584873040 348753097 203934215 214905195 888486585 209267412 716595985 731163151 846241373 313155885 214690835 328711426 464195968 991186304 139952355 337203354 998279401 760805623 694883834 114411238 846661067 659374401 592321004 120336936 198086621 869593267 176457885 498737353 689862558 151789288 635592083 536747458 809495265 450424333 205186214 940736074 936183927 416551461 375528788 171251556 704341811 228583248 712189173 944666476 145449989 798443119 351623906 871963139 781393254 120154582 325208354 909865164 961162888 834196564 573975949 223679963 270804866 543313093 250851721 745441836 198081131 554887988 537111012 222240070 979496583 109020454 240981791 828444880 390062984 321113856 782293077 609849077 756448624 816623569 403733380 951204617 638882102 730918645 785078033 702559208 235880129 463591308 390706574 133471825 953812203 252373133 309153119 835864438 289063556 561556989 775732306 319015024 980648629 746007607 934937834 629379146 593137750 281521657 331664728 540081357 330320839 120557759 736517335 215492974 984580290 147405756 994187038 503465833 850609167 706388657 211975676 400816783 530039837 881122313 381478290 746382008 814633496 157724222 792551515 158072030 614430824 140867729 985138606 505319916 680295876 444363959 819814653 903188576 837437705 106102986 776361502 322123347 964254248 650804312 607467824 173592164 772255658 547844846 119865435 716898693 545217986 211492910 774494894 502680854 190158053 940117536 245908037 817484708 925825407 601657602 100063827 782887477 994535469 406561519 780106515 307247908 334466857 218108207 282643738 746353805 424271335 112316782 291048886 963457139 622679625 509454456 865766012 263023907 782120654 783577059 418443538 563693148 577184426 550702049 716718975 350302801 829682752 809500576 900128564 393521349 128778295 327384647 369830114 609689769 223706907 395255514 811409489 479901479 677280550 981078061 882741342 114879117 296495439 449978955 128643970 723995553 234473223 225844704 949007451 821238090 391941175 587112503 170022634 430861291 980127538 657131449 220051712 644094911 817855745 120146008 938883882 861088831 559191206 554837066 531914212 929650096 834888989 181231385 766857518 953253427 892143782 867669152 768294504 532171406 425264727 193592489 860087954 870903445 866384140 835561776 557424519 486728023 878465060 895578923 462731828 664342220 555966157 684524315 569906533 682439313 478343464 198408800 860539773 229573674 440876993 626200558 385427767 253566137 864209578 799542565 344421233 946749822 506402160 805902591 215144858 227059458 510775668 376992664 699441432 888708973 349525598 216749305 853631197 850937961 248354847 523165193 358232001 252695230 604883587 311076595 670542052 467999222 945425396 655237972 121339851 560204307 477441643 817519615 623999669 512307535 102183805 703776612 582070751 434985439 796181380 733006906 978267411 663702095 474522355 866748579 594684214 228626372 931631059 418125538 616023287 212378702 827109883 663087738 903060573 273859705 781910263 818278170 257494466 851357521 768006975 194093588 546842468 530334272 968221080 876920286 998528189 166098740 404026932 417779334 933654286 582886435 975279211 313852035 351510902 225727557 116225871 636443296 768734461 449689202 718194730 704629229 507124380 787447714 172146437 168996368 358080772 367679821 649773787 786950542 703550254 229917609 595377529 865557689 405958212 309889228 940948395 419492822 190322468 782079126 108283656 254358034 830934104 490429215 632580738 108060912 403152742 978338742 100708042 715538571 638865361 578587431 548788161 278403773 328188631 631593969 428769045 209268636 532711758 862461545 324213618 521454466 974893551 224115923 915626408 298513458 691741669 915834657 815085372 830258057 583193852 546240872 386676413 243321985 360568202 275118343 219747795 945427269 906169351 909813245 826787586 549382595 272472993 476313627 554922897 567880753 167343832 541652036 128179927 168197113 708142617 926163949 331137579 467437864 723183283 942196888 303040615 216772687 330353107 133667329 618565864 557148690 362110315 498449209 903068414 163704415 495223773 381404394 391765551 654245454 185059061 139728694 935110416 784506237 128624690 497650638 911508293 665064752 930555175 919169953 847280483 700633142 697928586 672099138 319362611 829431354 295957278 187070578 341450250 810588666 318789425 838932247 245645718 811597981 269463429 150139244 619497467 419574538 621235373 250441410 875227342 929040500 191855743 441435027 829373735 837116820 304864552 382255101 198544331 595589135 504517043 551886244 753975933 460715339 503025325 532909423 192158848 599864137 312408706 670311702 264215743 801709372 603998989 844603881 737314128 282100762 871525702 163527521 237663205 674914561 958926735 948433040 470897783 901060972 851749143 532526671 237237944 774564209 599341533 837352437 105006861 607951968 631808089 142931902 391414134 972437202 360318869 272125685 430881513 467320348 690090880 388372109 839212984 790453060 901684298 655276541 780508292 115397533 378662845 801882781 295344382 998409735 729804376 670892718 896861488 792490299 732164429 217795052 476917170 648156734 807215811 533880497 789714689 904790024 847793762 763214217 884131615 482713431 413583749 498478277 228416347 542899919 586567799 772257626 508847992 852958549 521060601 233473898 277356276 454472783 545917012 386228998 390787123 622385846 375676850 596602235 434801166 219136727 677114574 602962971 575451821 658326594 493201690 826414379 454192837 421323053 498420732 999646526 678101071 337429132 415892841 208754699 899292775 959889403 181550805 904451131 990489576 939036791 569762998 437915497 106785042 346105179 572639342 383222793 236859700 618621238 223193332 669363411 702616365 555436299 607301869 458216830 966697923 885167590 753947571 454692174 500086326 365490649 519381938 683471568 805790013 570560832 899749771 434783941 280555397 450145158 526336353 261178995 205692348 997339217 740998412 854247915 354981529 203625179 293456667 602190197 233911140 351425871 394377348 751607254 174434954 857722534 997109655 320673030 701435620 116370714 149868286 131819007 323678790 445997379 525194667 284234500 368847616 220936235 255537763 909878303 548811225 761993649 846799734 125504010 544951527 955733498 380469204 619316216 140945993 702498436 680935918 519435578 435193971 989508033 497952923 539418372 589563897 475726346 276605203 602478356 161659197 873455411 224786232 869376942 544312559 719483195 490366445 279193654 204365923 845693063 100826332 373555213 102549725 125346644 709931822 896641054 607340781 813521125 293683425 923977057 647778824 402749679 478813348 465939225 710760481 169190870 108058045 524308196 713211294 921212165 471777955 454117759 986609428 628536677 950306294 196650988 810452601 109606222 451193561 984523358 111281681 837864533 791017230 630668156 463266204 473908006 119898730 795639626 323103991 902884887 931429869 481561442 138894694 717803196 360090800 688896086 394655992 904655084 576150536 702480445 642405296 941871201 637088060 379925136 622265122 628178644 943456120 695078201 856446115 685235152 696266142 695631504 607397852 561969882 541355906 363439388 278361583 991261114 648424381 647257785 304461584 486865395 157652373 353573189 248975647 753207384 160292356 165779454 783794166 693041151 389940079 463669249 358507470 544591132 811251629 852167098 645474123 822981614 997864293 419751873 847745082 316761830 712081157 492373113 188736220 654500880 890282232 106514715 913303430 213294213 286758339 493332415 883372481 480098003 336404782 783648955 882432097 664584095 322363842 437584810 852476855 263850615 418998530 161246016 588186726 909683104 187772747 769093600 859188124 145692362 423909113 971100447 197708962 751915976 382787184 370505034 992317847 726938400 681906519 229903024 490203584 857665201 165167242 918467637 751449284 937926468 843539724 177513424 549622861 699107709 315934416 872871199 946308755 942162630 730298924 852309861 266823826 338588718 724608636 893181689 187123637 837659833 316705124 746238564 181051602 191105536 703699801 519358281 959068480 265512707 753420721 942747411 592422292 896756945 144061235 792875096 234528579 975560479 717608883 981130656 757206967 458836579 274905170 933202171 853656444 113205431 779945887 428536366 804069134 175794769 798777804 128491240 496914884 819634537 375716798 864525866 750294527 860953209 279843797 450538221 474844163 938050185 462519434 630898277 116243111 387491469 391222879 960455733 629177434 781626629 996365921 428085332 982768625 364700628 283759953 901132475 874748893 491708653 676009873 253236165 248072843 686808546 757112603 626334763 173441364 699573312 286318657 390999988 951492044 650378705 780179123 146603214 458949079 132892214 883297123 245137441 470516391 817220378 334950112 530487256 414770850 931844345 909552443 532105998 161239387 326444895 265131656 715003855 379240934 105502572 551229809 806952427 218091961 479723165 844977612 951464663 558281424 867122366 302977444 904951548 783323890 751660829 290399832 688939075 900477848 755327094 236046801 446959916 212787158 234642103 539383797 117235555 484616154 408435292 794821186 111560958 763829601 626343699 437818146 997757466 892690095 316023232 608847848 362026579 229561932 672301734 212731378 884190231 495498612 482394265 538499974 742384904 415574844 462017013 813656971 372311821 623626053 885437192 921140740 344846918 506676079 850747350 468065498 271975906 490604384 540586863 428128629 226549660 174734545 425575701 525305107 582767326 876251746 670512884 590251866 606961910 481337182 199170787 955335951 415281261 556346513 327811630 381817525 947117333 468330788 599429791 371451039 125054397 632518568 428787590 219359128 422948665 246838863 582933111 403456342 491582406 907984251 743543527 810188168 747589908 504945450 873927345 166863580 876401785 466614375 627208412 203711246 198480763 688173140 376626259 746359847 325576524 330099572 884540512 140260429 192283235 511906867 541456147 252403772 408072408 927296058 761552802 497054429 102592990 127515707 309828011 918282024 676915280 230888997 566857544 781415194 467895097 984502652 766567061 402810619 941594461 295651631 603235301 379675765 338969741 171796926 880356904 236877022 168920604 695576840 685437149 780981484 790445406 748321743 964737636 862751461 800528118 342009237 280379688 531715641 928705622 121370594 104515179 752035476 908836379 165305761 498600755 435445171 680225489 588650210 116518888 803459472 398012354 393127784 633921961 858423973 468870636 309313230 529654865 646453656 578460442 754612143 561634498 946963927 933229217 153865110 970568332 836379586 514770025 700939616 292082316 939641171 703400733 248866462 222308359 595419151 262028341 331259158 856631482 253483320 744974133 639428265 355628006 409013802 869572096 654021835 878054334 233295823 288316940 968843143 867794123 636811510 880980984 774960970 601724259 267700212 258417712 759845719 264738684 417468617 859885186 520915390 590669277 714600377 168947903 926459363 935598799 439029124 108551322 290283371 996735955 648844672 682465669 179122872 369427699 638359600 748930210 696664825 908212199 375194029 412294966 369896807 878438170 905192403 775759991 673693468 332846128 580681595 715198225 410229579 605235151 244162543 696962512 148604417 224530021 962539998 226990780 510361191 759892181 935288857 976607131 460326182 941779204 176866439 593846513 344693965 940367410 343708132 215628833 656430054 875313220 200253997 739575586 478401187 581942302 740168929 905788007 441549881 194940518 434765994 854519648 584229044 193629365 953346361 815465032 935288886 112620776 504567840 488563269 878106073 759284990 329657488 247107020 140566032 431732176 318606674 770759970 588520425 610597771 403840833 763256676 814400369 267550438 938913336 476853377 764695028 842422117 671194447 431617891 908857735 131553829 331349525 984623043 337739829 308128539 840630953 827552300 384672596 264355663 957402480 997991503 915329281 261610292 221837365 440730727 290261366 797113424 456630746 251914283 690434684 206170883 472239645 618420463 253451729 193165794 622133226 405776998 874119317 785389196 715174110 751055145 616805675 296665106 552969970 635409637 666164324 166248280 587639101 120114833 730310658 816749166 552280803 171642053 455447936 718170839 974473817 445139405 501239756 150757793 179666560 859123844 810664898 859913082 184981145 154010332 396259693 109917602 423403034 398924277 476149385 397032376 141839214 257460422 284940043 942359959 558735034 491939244 934258672 443114266 202585769 877014592 676105867 952727856 361051485 858255430 400987279 839464571 526313787 647777930 841069395 300838179 337434472 634095806 891355241 528691144 934479322 988290346 543907165 653220512 832141748 437985406 930678896 142302328 167613458 168779042 241251823 643886692 280351878 956420571 192835978 821791450 191755414 991484477 534579799 968119720 481056127 911066508 148091181 945955364 836162007 375808278 279428111 408885150 254641694 510525980 548666684 422044001 186718884 136246857 176284234 532240753 153440057 649142620 966245128 230443757 957041978 249788812 127002528 734248626 385457771 431731951 322508961 508032928 404388753 619490283 368095426 510922441 600758170 832967845 529181812 703072313 551094644 310781847 845646763 190841921 794675068 307070973 916559805 546990169 868893609 997787885 484936989 550348360 793904909 311537380 885471565 294298222 419412116 675255434 132946918 693959207 532462732 919843183 796235914 925598750 404886304 111435313 440746432 253298001 591558104 166105929 982459757 872706704 907776123 798681359 112438892 947165929 601136695 214614267 766813631 977370026 427727043 187758079 679226292 516283117 838893058 705469991 650980922 815924062 518668494 874589359 446421405 732929554 754836736 226292806 667532015 542272765 776984597 517473430 868120718 739381855 120717609 997132213 687153289 557173645 965371759 828161657 256099146 775850574 644537227 515504965 344644389 190866016 321417323 317580865 346717819 916513258 900748976 798358256 754882530 816790355 213049961 354766950 917036795 738759341 595095300 379090185 432289059 784486534 999889352 908798848 879604541 318917222 253267612 110323219 209434335 145227446 110794211 679750213 929441282 967702097 524196571 358480264 435221286 939924316 445007114 323694022 107012902 796654043 328612347 322407121 120509728 253128536 820813357 926757867 801012170 687296071 734730462 347564680 463905154 845206197 520254584 800712344 636747209 239632404 821916246 542853892 850011359 961504845 660970985 145175321 482461148 206541398 313834109 321718680 593149480 134141480 104852615 888350424 134155091 374437543 276060573 223758974 607585103 783241010 553734684 212899206 145895403 244429024 822814254 184951365 264590153 683386200 408911191 682496568 853779017 656814605 204519588 749185679 350133054 752075823 258374857 252129296 242962430 139666763 878218130 966805959 636427601 408431589 175392313 485906258 530242424 911093226 726363794 692069770 820193137 870639985 499034061 542777235 761263145 248730470 759809584 740583482 408282572 492697557 732119814 217973725 851554312 236201550 328492357 740416024 324110538 261328571 484559356 636301435 590023888 579635072 633028449 179656613 290302615 243396371 207365044 787697927 948183394 227771051 759401159 531791011 242491112 138159320 686625965 105868479 487140645 828375172 976949684 923057881 770621627 404534389 480758199 998643084 190512525 834462126 710672003 212988602 656358692 704423029 473541833 442180227 365170753 550287218 861577900 213688191 190189688 542454703 941939396 365690905 374648404 576195831 647822669 390543317 929305440 169192007 185792897 365274094 918958476 990715667 719223267 962449789 206366879 143123957 815584797 399293670 964156676 569890894 171068583 901661038 378907955 610803617 248546260 941905227 563317783 741234086 832789274 184622704 449864880 144802338 580150002 816761240 815595924 322893222 376670211 656764509 817405244 156320411 572785039 504602015 498480869 426481332 807377661 837002103 938282885 495582432 999557469 222179427 330435007 418435747 295137886 679498786 728111945 318784465 568713906 747337237 473033841 599248412 136845074 924452543 976828102 843251970 639289461 521776270 131175045 172172020 163223046 705182150 467251513 978914736 723286928 932362145 431352047 450883310 165095274 224072186 158996142 770156277 641517692 548801766 998285430 956851207 231330110 463547622 372935225 406619048 543060267 173478325 183686136 433903572 347455270 670859800 389342996 437903522 406420780 626061644 949169699 402678091 171137246 990908827 106844615 816938567 201251008 529574734 759096288 636430430 225088548 790865967 917502059 839911918 437848455 829451150 641541345 971545996 693275259 221861081 786032817 136309427 716244860 499012363 823049792 128370037 640031239 699848796 178296839 486934981 962671688 875973520 402179404 851594898 636149612 231390832 871894062 337410199 635163130 327100668 490182982 114975023 908703858 718220330 444328715 365299273 495578736 964360181 737804022 641970585 814216143 705062729 450704576 821905703 590315380 450681599 401305053 251988241 670953000 139602709 196322356 665654794 737096468 901743266 748850714 155127068 744162426 535383010 923354783 172153497 373127026 426883748 406529432 503118459 612988691 515298216 168267508 853765272 708167290 347601405 498272277 684443819 995036533 261160819 176542851 119435354 777526722 813328566 914099504 305567756 865951179 855444037 155335472 526631886 138658013 654775899 938222353 968279290 541023517 351148371 587569454 583778981 326179043 248635828 812418553 655032934 157721611 720961981 425236239 357880073 504219561 547037841 711996960 560676565 406743059 897755715 978845634 956044094 466653281 776765498 994654472 633233925 279215968 259761584 548607902 789770039 846243841 661501088 578529236 555040219 803676948 866761215 551296267 872428380 584214023 473964453 149487693 210375519 509709259 662282967 405654896 477966776 465811336 214094885 887355441 872751160 958596771 962728651 723357395 857155019 865016326 471051837 304483631 270005236 329451154 294315904 740140844 312852716 359199577 895074826 922603662 306958819 943707814 859886140 678267093 957302744 570567999 463211139 243744978 728082198 186378658 175596815 417942307 118763408 296709749 841678650 816508986 659301445 803726380 780459884 523158052 116696853 551876875 879891936 503728886 609448637 117097390 195974973 486764995 567721887 641978548 256017995 865673014 111196584 705657319 940720511 606116611 209773092 418408647 152660617 982951490 964927044 600277113 750740629 697908442 431588069 384411921 834312944 446247781 224141782 171205133 463539434 290714708 526918137 973267331 713241864 266638248 362148056 697239205 453407190 409661611 920062537 677052943 447049396 908252449 767623975 615512558 233871089 600923958 232154012 109770965 403576222 933790753 488359703 256806086 195922768 916819214 102022898 114486065 815381118 156820192 983699396 620511250 583487961 266169424 235518182 794658120 727641180 998398662 272960569 859598462 413150785 774998289 991309086 513770385 279614079 523020106 138221710 564272867 608952887 381306242 596672741 557429322 247081188 434376472 966332549 923535233 689647745 496270381 199013290 713305023 987923866 446396018 859866043 801522850 968893908 188041893 869979660 877837195 130595379 243302977 384490192 537119218 790940384 303810334 735675393 245325577 627105646 202162774 108368515 183980829 493110938 483751851 619936287 526457327 105275983 611771430 337121973 761308509 770023328 934005495 857169747 678211726 809683961 978075482 104644491 193054540 281571349 119139531 912552210 116577192 751306814 461670506 953994656 648731377 305317636 476697027 661727438 288262017 734803272 776579046 963406808 449141272 589552888 467785686 606206988 830848604 760933751 395451773 585537321 406278650 107265169 851363746 770058408 649722745 567899122 171286550 622093385 708595616 398019619 248282131 874984166 537575409 213658330 647630522 268012005 653678817 366072436 702238757 108310260 369060163 178575603 858918504 339416129 955030461 972218123 647176569 396257197 860081939 370830412 853853679 308158362 577429128 878632011 146262300 891054349 813775705 725253562 134898358 219240324 257355161 433253220 843376345 980817067 343055025 130206373 807245373 849174525 338097517 920673482 429757862 668398837 281230128 667030561 827206514 725391277 859825659 375316663 190796013 275765282 667256029 537440964 801979215 682133830 133794479 383946497 991796961 926659540 558108463 135381416 911323298 730404412 810841652 861796889 225975940 711500524 716765224 344519478 529797047 964278107 130561924 538403016 508496063 146473573 650189619 138202708 251959562 455103124 188903595 785243778 769372643 622645784 857671149 564110638 467413017 774610209 982708502 137629364 344656353 364520538 589155761 254692398 486368257 406891115 449912995 991914652 883268894 377418751 722014273 356614814 730232429 336478278 927821678 509115330 844566619 534222794 891836522 273769333 963886200 187943361 439363373 366173563 286197811 825483398 696269010 146854601 673490844 835967584 283621010 100044608 825071660 772128562 148892967 593929909 880210484 624215827 325220353 732724990 677140374 725223669 796401666 441989862 444887176 572387345 677774037 520437436 345759869 537372586 122094489 106906288 896926222 643801504 713794960 893060949 894033177 638650360 342434025 836939514 542922898 392947743 603164937 360670813 444258571 156235988 785712119 393565179 995653756 312509289 883678461 530446424 313143645 730993116 451430589 794534770 152974418 115734644 512611004 159980885 130823324 494028639 373544970 237329803 828410394 296352728 128632246 808956059 408717337 375127996 841132482 959049321 199990148 970983211 636825732 138424346 919668034 873999524 242449817 681967475 346710889 979288177 676204676 887042322 472448404 880022721 950939391 519197929 123084612 141136085 942583400 202258458 670813895 538636405 398038722 122851644 909756021 400147663 460364633 367821727 305216342 400405875 773538166 737812132 560172590 814068285 481107434 320639373 562471316 689642197 304854241 759661100 799826357 844821168 551615363 230215536 683466707 483246310 736703307 239597310 748669297 674005343 118618009 486458673 493694669 176607960 494218991 302584977 238724274 731572281 486840867 932835758 655191314 361358041 735827924 506626830 559886798 715197268 954753187 619199737 397816024 123203165 540012196 597829332 617628975 803304464 276009749 892894625 670523454 633388755 469259290 884550262 377441973 698695286 209880457 580853959 706282542 248631560 369322970 797362394 828099255 131861541 625316564 667678798 537420842 375835695 307659932 136944457 815092209 666082351 786835155 558742999 227175060 546358313 424236390 710981481 536586040 160605545 799546541 237485207 850673287 289566107 912797172 193307161 299189802 348939156 625959139 348231554 662091506 934768518 835782489 250040747 153607490 761954856 397020228 951137283 789363678 454232528 951072664 706007442 111870063 893073449 698439609 220448708 215651870 900524915 707481759 882144891 799488044 480645342 640903595 572962830 302474481 414510175 410110384 164474575 107371580 855150603 873194194 192825867 698350977 464882867 623424620 530979320 153142651 131614158 910567219 750915496 436886232 479738216 106881210 318720584 880953553 319219692 555078987 165820796 655055635 408229250 224932057 353384646 575742163 597951006 254880259 539588890 742325607 857589266 305093773 652386048 233426379 105771667 736150871 584661982 741832556 622710806 355869479 433300190 992537700 183372554 188919116 570435619 763301077 964406480 241248317 431298462 135978814 401768653 579022119 131251837 916004985 860566124 954482115 292082969 731463619 656727187 428446986 265538935 378867524 659835655 621524464 511341948 661874583 337212177 318401490 639061956 566824921 539667708 805370179 334651414 414013613 877361592 330666012 455600561 384837720 572846226 582414435 429222454 548364478 559348277 958268651 639838660 741172019 517675336 243771951 143475439 790479725 733025330 270434731 405875319 340096026 350163100 660046734 928411783 845598757 797575415 820966947 197173846 902485114 277584173 724265654 473439620 362416109 672981717 332402055 621812575 673937830 761567468 426935021 136238900 578628601 202055717 388770738 754482377 298588571 670311429 873527470 149635173 857126024 890913924 322754756 370880603 477364692 107001293 792777238 226209816 547310789 664039243 964447734 858981066 306315819 673289020 327738676 989259803 174751759 884359019 101537378 305304229 673884619 806602105 900471070 149676781 126830895 836607074 594575961 992359030 442316295 139494430 432266635 651233060 665982354 925604362 152366217 790221191 411148460 201808596 680869605 133680860 664970238 429090297 209727969 611880313 408369635 172874975 684558112 722013265 462233398 642888421 405361730 544790590 393004880 903314403 560895067 747821859 744485068 393294873 161186157 584254877 334730958 697369036 258683604 230582414 110904254 930412839 105512151 369997084 422980213 645913145 398589684 259782705 707654707 823763540 974247991 601297567 775010332 231336697 357197592 976397890 425428677 126800655 748278030 149145499 488276389 980403557 202474539 888525486 276138186 852471204 597962855 729370775 403362365 184331164 445824923 611021533 247086976 565875488 815234090 864216418 346580790 146091854 374841130 569376678 195465245 713116147 103583845 332899919 270171478 772825731 851867204 508582981 122687245 956656218 603767021 650714240 423574754 423397806 844705601 236260703 930572457 658685264 887310469 778995282 963904895 870597704 955178767 805816783 907653775 357355411 536580268 533047769 287713634 386712541 258050698 150253351 229161461 740423626 225227039 280818208 692374758 476293462 879211884 459677561 327174994 565146578 163702773 553962048 204710967 433225147 861632623 397960856 619630075 884773139 122743908 140632543 205773770 765922673 644113320 594659802 215059111 538168553 206448182 283272722 282740866 201514122 197129774 351039621 932706272 261435466 854289925 526290374 461977868 146637231 780282639 326957683 846454046 848496325 452941014 896995456 738127145 390418010 303632545 372584204 948442769 860367240 364207557 255816977 965093290 831942944 634222741 720619483 148076091 383622252 617951404 613718239 173909785 447262708 818802773 317678764 125278705 491226286 441526506 849206578 512449568 871250094 431426250 104268789 796992810 717613428 901043655 145532622 799683145 394279369 742658396 861340110 708890215 426646899 702132144 316207926 568788863 779550797 882203199 387218905 654302735 729326967 196562816 503857609 502788506 523625325 778721816 895183331 408287298 526107874 421577687 789637901 473687930 149702700 211343884 786203806 684587367 413059870 116156562 729610532 983214825 761590146 578099755 279646997 991961265 992012207 151158661 354700599 761831970 708304548 162848063 746048129 696292342 601404681 671350080 699853896 712340021 254513745 858953398 328536852 118077790 856354439 931621554 672332241 142061491 285172629 271478073 136046718 686182428 300770054 117674979 410014089 391829184 129720632 619632913 171288189 972250014 969735624 587407678 542016640 167632889 283697694 690799415 529895816 465162830 627390235 922025684 565177407 978241823 804504886 879557626 205157289 761793712 380327428 235558140 373248284 851284403 371486905 807000970 473649984 419501068 545934041 608918729 289470385 573265854 772813714 320245736 124953681 464131503 224772959 686394563 471679285 308673549 890088285 505821426 279520629 870164748 336969711 336663681 824862941 968420103 922201166 376670284 891753934 241367720 912993792 628664654 465384792 507156557 934950479 257325514 787946257 857816450 306437762 599283328 486388689 905810122 172699174 395043017 692325612 817525764 721452973 297151783 984521996 290162444 127372662 377076064 319422205 365487379 768674783 335487547 126542077 738691522 182263339 733486680 480720498 245190881 464749781 925825046 414407761 163543508 864404936 471756215 148886271 238263841 432259201 266123545 608448064 697976579 488956825 295458219 168565363 989897883 496654451 553356563 657870601 372618591 894936812 362883528 568311865 840552991 735320082 883220483 850574534 886062145 461622126 690540806 142915873 310885774 827053865 313380974 696938485 243121544 983702119 451464540 290857384 250722561 473280504 370669244 734124592 878252293 584087537 305173487 191748091 927372805 153239080 949454032 927020070 228362052 161964000 213795388 740872863 355785284 707812190 365201206 785452344 671910435 659102026 463070959 355406281 886330625 584999584 850181313 336891273 874575827 592554484 616242757 666883978 384111468 306602214 142794293 247120383 690950299 450937017 345253872 340448799 924669140 272387126 577674663 960798429 339710322 507948483 966480926 199695322 210395126 124401492 958646869 499947733 916750416 508485921 906730762 804268341 666919469 728139446 310570243 913247204 322307822 146419121 333382061 799848901 430718442 927677870 626025593 693076657 224734550 140621357 309325433 567679601 746924523 779489079 813873440 725306051 504692879 848058165 418083911 433774294 530476943 777999350 911900191 283216287 478469689 724782335 450878630 988270748 705333985 839795598 137288390 965469356 875961379 228370087 983600685 880508350 963141014 622196383 489753723 830680268 504543761 289125083 886085789 587207814 628788018 807257314 441450012 608703599 798017753 376779645 147273343 748051348 531789169 150189222 116041776 822803252 196693452 977854093 930162902 516672066 286410299 163692404 658947965 924860717 776200511 934741359 136418957 523396615 853364568 104888700 253384904 452322104 664307673 485560433 230536896 355165290 155534928 287607005 909547151 812492538 622152516 683941713 357578252 481448059 129506001 291609786 439945942 629997978 540000538 854133105 366658488 297776847 292818995 223113977 240556210 563372435 532951832 629622860 211503606 786873160 915200252 908885990 264425746 508837508 159450624 338677678 526829337 959121024 929585258 903876643 248484876 570067814 922924422 263857653 301192949 268489540 940156460 818359407 694582129 905773958 166211278 973265213 152981650 374716897 635641119 955761105 918089531 403727821 967859856 244398979 789244343 529853092 897750741 628356450 290061274 526711360 481072039 592042797 229226785 523651460 890400288 569988501 528407798 143058508 177454360 637584008 536961066 983704036 792955522 841603272 452523712 217018736 617275611 661891241 492962426 776400752 916218038 762755635 176934993 108841673 812747999 746616486 455852338 498105176 848051037 243918189 416196240 821550523 263389864 349837230 837393391 968490631 790717064 808935772 192095573 419722245 777936737 416319618 185624242 256749507 323579130 634884687 194019937 889915687 696560430 549712120 927398755 297486259 728809385 200858052 930556277 699731507 910986478 186818280 968991838 929829500 677746676 369582508 338207421 682714983 747521907 141636411 414472899 423340147 417171200 419222588 674828469 649269328 153699317 313948364 884352849 771446798 104523098 420716019 132739997 631540351 935120828 472739951 700718173 876871281 278251604 793865220 256395311 172478103 145800170 345279622 613670289 491179502 456379674 188581590 560810658 189921656 973481743 604816505 121665469 938724105 103761178 128913843 430685210 881344537 400349548 923258142 676397909 758397699 535702138 624371254 591314989 326373576 849582844 666231782 580873508 198146505 659031744 179084679 446620170 601764847 605581828 499421609 135772337 744232996 933498584 238295271 354310422 557963254 245861418 669491201 782426901 489630599 818722095 831806908 702386236 507285339 177773923 706351916 658732378 922734464 893082866 957722425 654146891 962104835 165775354 965662482 855097761 106169122 933311076 621110077 228856523 230297048 340916282 944558137 895195446 313536174 800124171 943423702 209100419 437765066 606799586 628098517 541105928 100639023 473406138 943482298 254902442 453959905 478819736 482556136 320128800 839869224 849927977 745490946 322093450 234730873 717700219 662428702 983925691 638061292 823993942 374119830 415832458 158445713 701554145 767544644 963329199 298265942 829510415 699711550 237656430 990573854 671118557 965327205 795744634 863933486 996713235 351747793 773637960 336193796 359491557 215278979 581390188 603723743 620324487 314942469 938112769 834025310 125044062 978455653 377920929 207209877 773823105 420089854 823355421 516191057 558556452 186453346 167704895 399615329 496347653 375300409 189501470 407665564 606603336 938173227 403589516 934960083 526872555 548728120 816645208 999455180 980091752 405777195 160215242 750020055 402936422 289564288 840745632 948986684 435164608 435097826 778861962 413407847 176332577 623404503 846323140 703165415 626995959 826599672 792928176 121687831 908184404 886388426 301247533 287189247 994751105 591117441 672427675 184943039 154573837 875450634 368239524 719576739 664886979 940478916 435866549 946772739 884620789 214814876 132498938 114625770 280821027 814925842 777933470 417891658 936943821 218193822 698832247 406716863 394991229 707889552 664864045 990019974 218871569 109374354 928659725 579864041 583885872 898198603 609912356 538804516 350704083 321361068 283426993 976839698 798680567 187405527 690352144 762147709 515579075 527363980 666179307 911555199 898199287 757791567 598813670 507362555 464759972 563770210 114150193 617891657 616184247 588648749 167493354 300524547 232443026 948031165 395872274 208462442 673968429 291764645 566428780 623374264 300616031 967806153 770989099 597958257 172860783 416052744 436662196 902626542 790464707 128514222 971435444 818158878 817493776 385385142 496937378 395390054 332836322 766091574 167824382 441810108 314813513 497959765 634031893 741089651 282810775 719283995 168540076 667387185 732104352 780906664 915064838 103031238 883815953 672002338 150353650 457228515 373908640 694538710 682459091 680837840 762316316 784463171 931053767 961433913 392998919 928322089 946790334 455034430 394511341 904481633 133462770 111271347 962644648 151151640 782016344 152166743 657848415 212596531 187230335 807651788 335091443 323603217 278553064 102300826 799646605 271359813 233853706 844978501 113522320 328889674 919532345 922000778 468233337 246643343 388473005 741618808 929745493 913093685 265232743 876058890 224173060 311628845 630979114 649457138 884769715 881033795 619970391 320828454 826758363 545580141 882737133 574817742 915572873 683936084 653055808 975245517 180724094 470205752 824309073 604295456 960517995 129166122 930128039 142548119 887500598 714754454 495784927 323646454 422455096 931416587 214717450 210748827 646033203 531328695 928970001 491323859 492446003 833981231 292905497 761559529 976875769 535723865 325396930 634308782 166977978 563147167 131653897 109034356 531063926 930911558 934891864 578519308 837626649 806109090 454693507 605040118 926176511 725283156 622828331 495997717 750078857 611636201 770705306 641161983 847828664 148083464 365418867 843551807 497758215 562386599 233931991 183527078 630244082 891304566 471425108 861676021 640828220 806831935 162158207 625907562 522795724 616801629 422762685 184124130 962734091 368288275 601338122 391782253 460845774 329328640 893921801 145055443 208893466 695486689 714091683 719565585 371512669 403380299 378689886 513347571 614260139 751390549 811760689 716737968 500998695 528061901 668040162 350813238 900525160 812357311 972222342 800741036 520715683 809646711 481018142 685276515 298382537 261387707 698030965 480219373 899623420 153957979 664760593 432509497 272537158 973439651 426163074 298079865 233191522 488061169 809303718 261359775 470533780 381863775 666390135 207227117 457586288 485344076 264122385 314736324 864776531 422913213 874027974 679212164 118636214 404146932 238201120 341104600 938654409 852533922 560597382 717379151 306502897 518015209 129778860 135684364 351095016 614168907 950001631 364808731 449493618 688070944 163882158 260749763 172049251 878470762 194591701 457110466 456564322 528787756 752191040 839918676 225329526 135279844 343277420 835698067 733570597 991676094 179718315 171393582 271216503 795570897 539534544 462692292 764638325 853564400 209838198 999708585 710424387 427817241 779960160 653003041 506730206 512128386 217273292 267959982 788734643 431941262 567367351 791954702 397033156 632714754 456931363 395933496 696255299 534589790 604474387 369409202 150291303 700884807 563274368 255805851 885060865 836344794 621657578 220173474 563562249 859682215 817327340 424760749 553748705 305499163 518482846 460890589 619838350 850194663 627272125 389472407 990469812 423871865 615462169 284108078 856813226 461201211 495401208 159243538 342850740 450144205 409190305 166117765 617094047 413641887 648775417 599127607 720105854 108524543 943265550 918471364 979467384 788223131 859397723 313932460 338228392 872152836 851585188 938707701 530535373 690352685 627882871 772779815 288214173 653680782 225488733 688671338 327849388 771708189 290039985 718536931 252677825 732060603 307350012 681848193 212765132 976167477 666844836 949516762 804129689 396723555 875863748 890721613 793823179 844530395 799133547 745026805 780991994 391916946 500292609 114387650 978704926 719914980 357935155 116160392 586123152 267616387 684352255 494369757 729879586 827172823 864032211 572527654 196241043 864826519 192924164 985677282 941242438 259919411 216252348 790913957 666217348 929565790 443159819 832088366 489204575 891053880 142962977 887776166 907904178 193064567 707710344 109308608 463421111 456198591 787297072 325146288 121850242 888089704 193604419 407196130 614916707 707049309 638115252 433013168 286381930 498204026 250500257 725572053 179554996 231262116 762975411 176316525 814781497 211785487 664999855 288579605 870186768 162333450 760740806 272509344 170765354 988505592 941991691 430133505 784765038 151939432 740907569 876931779 463707928 386874246 999119805 350506829 826937855 531743665 188336229 581964335 440159051 488324630 219481855 915758020 403129120 624796075 481819641 288890196 642146535 730490018 765823632 482768380 562305311 567513751 332349602 193473810 653539816 375529615 252485407 527296822 807603468 376843165 260567868 598973512 252494271 526782115 538023655 629260198 493645773 679136320 900974078 445113024 737793653 715773851 789129974 646371523 791842301 691271873 949721267 573663663 371170714 239210699 778643805 273936437 136404199 266168959 890767221 940273006 808483634 909013143 526484375 197358769 335979301 367190857 635585949 695792020 576522149 437618364 509455696 159205790 645447551 890742771 965220636 726533510 122577743 436402132 765516817 731669399 115417054 254242149 305120692 479191054 137321665 626559011 492282921 893888294 717311987 427003108 427203722 280232035 415077567 932561283 934958176 242118817 778791584 906564148 619999822 903888324 589484850 203600356 472273890 335806071 368057438 506887110 807899809 446651727 566808676 791245364 572326106 392516923 875529520 935943445 341713848 652537653 353527989 864976395 416194007 794651765 963621724 140904644 367020155 332097500 731701978 702114095 940077733 922222175 792465213 276276623 500451829 532163674 539265723 506738200 502998314 498627189 172251541 746873414 198591763 487618313 990625512 565123022 513223003 991877033 720673312 516226345 150349945 808384097 377506064 703074104 957167599 502566145 522487182 668755606 175691206 684081029 720820678 891099021 204893201 370530051 265559224 467120959 869597433 596256424 133575324 770062794 796269431 121594066 802279321 995312077 959914781 811913260 831496404 264361582 241210998 607959087 983961649 306109395 625602760 732176153 908808734 368639742 241136146 341123961 476828856 253759952 370401835 415984845 229749032 441955292 753563383 702709953 810283686 570034539 759853626 579918335 536187128 998728069 980529448 459628020 213405508 209455600 231938885 768659849 999486489 755988062 832591780 237510985 335221023 824185051 204913870 425966740 966244966 223747297 647995358 635458301 359042788 438230762 191884028 685469655 104569830 241816337 850011638 388343421 147933704 127858349 160622198 525160135 375114538 578948227 231999326 576409006 797321098 563639237 896839596 813332369 142438791 634284949 197132170 372897572 233165210 439151610 487607040 332899091 906583908 415058907 488463618 539114210 784687841 652234918 668718204 984306111 903852155 588406089 227609646 824286515 983684180 649586757 796606291 292425265 871143192 579664046 921858438 228619886 662439775 823289177 523906947 286151987 831887255 554502144 578667444 593326488 985176681 597371983 725184274 852026800 716723261 368093498 668750194 458217963 509532671 929277238 553115281 766483757 641660439 341284077 915029055 612811110 147078834 817935091 777230764 112053160 368793834 491015550 377417310 774403563 305429009 842444797 528325138 261264489 597592512 455597408 511809828 572194881 684831373 840968315 949203053 815501755 672727071 888304534 939873422 182178100 662893605 267027103 702693896 592817685 881868740 945479212 291914513 541101160 817600946 269939847 160963695 169965942 693947805 261963502 864975146 388529727 685271221 638592573 452236244 637579253 194526631 705637739 732267830 524123949 976263922 539687222 502382446 943727915 496316246 919670797 280979845 560182638 892338004 144482485 567415282 166467872 210639810 207172195 403943665 663700469 573326432 344760513 433829935 596738343 205389641 797397353 652195114 591808557 207237974 394018477 630830758 781711715 550927624 587686848 714526975 872348758 812648991 762874322 412500962 877182806 750337871 883380781 124978762 206287671 692239337 261462676 963196426 956966113 893132726 208788409 629291839 572292931 706778568 688717076 824508577 747525453 358568337 625127250 599824734 798454572 636486577 170177327 587783198 473832744 208119799 115736506 510885487 515578839 379102275 797721237 461109301 269177937 976649413 588374580 920904805 703455810 201661642 220094458 375522465 688440123 698309896 676571131 837506512 866183531 537903223 224048408 544064746 513541674 476167717 692642587 816760271 426472553 582760509 240865456 977004837 882431385 629885987 561304592 765074549 478289036 810828105 860021893 334642346 284729535 185030797 634727263 420116535 966005429 161630953 833659692 195076371 149368070 881633962 294848699 200916983 617772109 944295462 439577891 129386591 421016239 354507049 779093624 964110719 660945260 424500333 668561956 372121372 840809361 868975969 207349908 397414081 313634784 843561669 624862627 225606360 647575684 628198945 135081897 763373680 189392370 825740204 748415214 968646574 501282923 790847039 385297162 167127067 333695177 119541225 192045726 141408220 267109471 879854690 360229757 526186056 718676074 639664226 972525530 892778138 403569724 895883300 535334800 860695531 499109395 392181190 343514263 903095581 576653707 454764641 323415041 718986836 687046766 944961880 308625945 732855278 161362573 769247337 304108471 172702955 769623194 997962331 840965875 293797961 316490618 837106885 894391878 842102454 925372282 920876538 392692643 171331913 681647135 191719835 339981366 955982792 817327656 247270252 478051860 650034099 454450701 441984556 295874365 672649212 252597833 823619361 424128068 912261835 680211707 149025305 684023314 167195551 825428783 318816581 712351727 653558985 875659052 828855934 414615034 165879384 152845987 296631795 467490387 334865326 206206892 112194093 229154007 640024631 235858746 149423490 680640139 828632319 881655525 992809941 928883326 933389238 147486681 963865846 774897556 180255452 301943409 777048774 220330822 808698354 562738529 213436124 981245100 606149083 694582244 598440887 809238680 740684187 652006080 337480914 238068357 788179355 253160915 141426661 992118705 669295652 808490079 156815235 309502299 592492722 545159937 799383276 857109110 401692079 155780715 637579545 260383882 120028242 617900556 942701822 793873641 597486318 767527260 540334380 376152471 677736653 848327867 192730689 682887870 197710948 786129511 331491933 567099429 629556781 519509866 317146786 134205637 143939721 897699569 591963972 910206300 661682849 332376851 249326661 994321827 698714432 914048957 829640048 921931198 424903876 250797894 983888483 934539114 832038296 426582441 101060745 350682832 915446037 477106703 286000610 679822349 483129833 691394477 722633322 683821678 281426765 245104620 786409149 819178685 752537166 470537362 214683089 210677110 696103928 650815752 748527906 225357510 270460719 665450222 957118741 228166715 977961567 885934917 671057139 960188207 850463130 111055026 315219794 567503687 714718271 777997598 860944860 438682485 796501408 448556643 235835576 373745976 298717904 515354491 840506462 792729555 916397606 117966760 887074823 864078056 853941196 408651884 142975933 258276628 813489706 760892084 290899819 293115420 528304251 677846463 534160786 417261341 732265360 148994204 111888671 171880266 800659491 524033811 229044833 903772088 301425283 695388805 359189003 546106939 406556357 893126172 306364104 901064154 589060197 690281380 140345220 853960545 370791473 140536931 720967146 603229811 198872131 109987703 821689607 313916391 968404379 442356988 202113280 632527251 152114926 524445268 355035441 625232378 524756538 532665783 659630628 848881858 891495662 187089128 260042962 393024869 933433059 369401367 501932954 743113071 901312708 785424101 576928410 891402145 973545343 485036867 464034016 885457754 320782674 669871183 765813207 689763231 594448239 208974434 522716043 728076378 579334686 982558301 362854541 899630181 318029964 605005753 928167344 582336937 631971966 284006168 141313875 447240685 607714953 627849163 203999861 162053041 631221737 285229955 445465625 827844045 240963276 461595437 908064053 314019479 622358942 703842130 915676807 402636577 854211734 680747397 679328449 336638211 860763302 519723692 782409144 796602312 207808413 617974169 194962082 830486628 109810529 525144381 296643580 987397967 114972172 719067811 552427681 888178247 550354343 231678802 176301696 249950934 549278591 338732317 352342709 583246910 990036711 454356647 969624805 689648109 102022597 489036681 998351432 619706037 449236452 449145387 474840728 939730300 498046017 862341753 432072229 471845133 712941869 380211287 472565775 708597823 502177013 796440743 443478684 786230466 974403674 628258661 448255397 134334156 449451099 128382921 955973367 637543495 274026800 893884680 349828179 446757892 848914360 758754577 656558687 891717130 265969484 483665502 570229999 215865719 634943967 653105378 517559469 591111252 910947523 478654333 338036262 551265085 117178461 155975122 715503144 275761860 861738524 605803565 545870782 538481946 139557621 188599279 102728933 488762635 388409259 478873228 386398339 332040879 343577831 114666057 749897997 351795730 103049355 259075054 634255018 659660036 634939975 158190958 830999256 955948476 328478888 998838377 952358338 977938444 699005610 101528383 594590692 282771599 688843108 118375289 480444266 861717848 621465906 508650155 142039971 376699829 885490142 453407960 856232064 398120606 256264134 333530784 517821920 459839724 939697185 350588148 388926224 866065409 501482651 505797465 615914561 182272659 433721284 540475561 673494801 907995076 826581873 975407091 377504380 624013954 527533232 782358283 288740189 701628225 527858714 640338788 942578318 914012333 147032820 245339460 274059413 306703659 351150665 958468871 572930515 512078085 195913004 859022382 402828721 417880724 816966285 977798792 167597610 414485435 772277352 618907576 179074951 623057643 276553954 507669629 593255895 204378200 256073911 963855359 645477007 794064120 913831920 531151904 111213021 756050484 155860257 595557265 692983224 504728373 997408521 674786523 793581250 414026211 891377665 671464346 365038395 957963293 358402152 901163923 711367992 343466655 331947477 921611677 868570826 919948393 205655639 417631874 122094302 264343729 984444441 495274108 845420200 578907948 618798154 619999097 440358695 848055554 744823792 875449513 437313215 988599635 878798274 772013880 184875668 644076594 831294689 969859062 562544261 356687152 825685325 565419279 602460656 176392983 682094787 927673919 611745922 563391386 751552945 153930194 536124697 240928432 615855160 639837248 926283280 280785918 338680310 190465238 797838267 740734345 687433182 488635749 112444670 977583063 366332462 622385671 301116155 695809003 262537662 195605118 852962030 851580833 642616744 654779445 654261714 958560494 113988265 268923623 275268755 484333039 900935512 387064767 762111437 307832912 226269252 587688788 771777267 657735749 321941076 745970136 371953140 571959770 199153329 743858436 947408561 530367756 898024511 213508527 417683745 435345896 394371649 800783463 406754922 248534718 939803590 410177656 413382298 410629322 654932148 904139668 104910641 197343329 984503321 180107724 475178389 341770977 196826325 534299955 888768418 460585696 396033171 232475287 863624140 323056011 502798717 792770439 743055667 741345822 560890403 609365833 868942413 117772819 948464802 975899561 879121511 493214452 632796012 352057346 607298954 907906408 905954005 132790228 503312057 226100727 415964900 260289911 892257309 507558827 594189930 126176212 754142184 757661287 427374194 487654274 143904767 269477119 771715822 572181390 800711139 764109189 760183299 255443809 711254021 657591100 893505347 265855793 505719597 376896748 825944047 871118989 693815072 257402919 419879459 281305333 959852498 587044348 997538349 712594382 218116027 348506026 573877959 452881403 641561796 381721244 557512876 254260329 984105629 602966280 519238031 144222866 923440224 507379737 626630805 961069759 723275968 465341136 547917970 829092430 995887450 111014143 381572004 492575869 338969587 997319888 944779210 989751714 325285481 197006237 915135065 687021013 517850265 426559714 447790235 745449552 265577703 406992156 143322490 648701329 638443802 773371556 228626661 549009563 521440637 177910716 332166531 984379878 660013787 270759856 120339233 301232081 604307202 189176324 724284278 107611487 226164682 819472077 869946132 678978089 941259005 815875614 112838795 214212191 584245219 385908015 397254920 449381233 470879006 227126380 745871883 126735305 237036941 923148761 964280724 397886078 151291767 926339691 490932088 919717649 266737017 618693459 671623395 808100573 661079067 129939246 366325247 714749982 898019803 340810922 865035832 117608075 751005238 200628611 720663298 769379276 780797354 119113515 377409084 555629308 595708002 734514907 819842900 406302160 553005631 151308884 878792597 276963559 563609574 364953851 857255502 474814422 371015280 536069342 449082561 190212796 521629885 382219474 624228704 680783546 793040584 627849257 679923643 136857538 730762337 449993365 496834285 783244972 854819255 187323655 523211558 505792401 988652848 892863152 928390680 460760411 172205298 769254363 137731386 408868185 999656431 779417065 419996479 472182869 369092924 674305779 256279735 649919475 182514938 400260401 416736015 361563134 736696892 858468233 308282486 847128351 644655449 311184524 875749985 974947819 766565861 854583939 482916685 817242196 399226502 268454922 208123784 528898969 851842547 607266367 201884459 355928407 892077631 985316955 345514427 615783257 896968544 544885043 925252446 233630493 421610481 524609287 968625614 566478677 250550520 886254314 869964060 923355725 277697917 398579070 989683356 776181335 684387178 527452924 172934363 101136852 910860577 770531111 229707753 327955313 712616093 795676160 519466867 707912707 988298795 727448850 336712699 121133252 199393303 982719641 290934233 446387728 718499368 403203573 758232017 763702774 484043794 179420848 900189137 955727868 372442814 700101432 369447418 255934439 568587563 255987830 169418107 636772323 830381213 255012433 194244043 937261178 692749286 623957673 621182812 989046986 247709563 954215508 176455507 914924965 669928478 232501412 175023092 939946815 245539056 184791027 675532049 297375681 841479906 862736033 366431476 802459380 832890954 909418037 868475153 317565701 282125462 511719841 681776028 973295077 428790159 768807764 575644114 158932781 179666479 336647585 858178341 746578040 788744648 964206299 784234485 354243607 125702720 993040001 399938396 822666666 585492723 555840418 378249375 895226684 519193631 465684177 649820904 489734928 159241068 941661607 589374608 967258746 846831970 765377527 333367749 209911860 182969096 833333978 238341753 512407656 873265240 707608083 587763628 640315154 105472125 661192316 597569073 636698853 955256830 452835974 342465649 970853423 768717362 144852793 349491830 119785490 146903560 838404400 586087696 260652491 456803101 808641903 885222943 117331767 218532209 797812917 596233623 575847567 115734475 938846601 642060522 312511201 323074325 525432630 257108942 667625087 507264100 513525502 551979897 210681143 811153659 158479766 519373893 492529871 231505468 379851895 516626143 155146535 990756918 449175408 401599216 784029896 398666438 309755871 962437884 283786127 799072581 908746897 862551950 165610013 146881032 654325756 910302060 341584477 862432703 418484711 385513610 499515226 382680225 104827284 158836346 609553518 972516742 272733322 255055519 697692000 567168705 897279248 277239115 704300476 925703766 259167304 421353543 273878044 250537054 563383912 867323048 583757429 775387448 924563933 271580964 160035211 356820778 887680917 190922215 223244289 968532881 501144997 963172673 378464187 778296965 487628753 721007801 968143193 747733054 885092067 721023575 313231227 822462551 718512337 539623075 383209394 483908266 123057713 501185949 191273377 627547310 819931712 593622707 535441801 579198458 990057986 122203460 884060657 431069271 757653374 948679829 949144545 572162617 979544970 127686912 559188269 403678514 194900699 313088892 104129128 971117535 726528394 651223630 505518895 377286830 560661067 996032291 542198777 451460707 162680528 664756220 687891586 462907576 954444741 316362332 139623121 803572707 705220928 754125497 831977590 223857186 180387092 302129221 977971936 661562731 433769295 968965286 509925374 964085959 804485443 891569133 551632586 317582623 873441539 567536031 991498347 770580385 671676568 487228898 786021983 451390973 828007105 418001988 450043098 912764931 747452981 588512228 844298281 140213026 912781471 415852883 226030008 705371098 806828450 768120078 526529446 943698453 831376668 615074124 567950191 241387715 249523800 365342161 727533996 515603463 236788627 214115534 613121036 925764870 134535558 913345959 871191742 653899316 353795522 560890448 668196060 965188505 667592066 505850046 939822630 126561811 882665650 876911863 105612235 379998608 767034579 429711916 188136633 198516383 339870491 185609933 786224551 524490498 625903102 368745049 270445629 370849790 338969647 617019451 704723617 849098196 408108095 989094204 468307146 733757386 353145718 873953626 252018129 577602121 398468624 827308063 372759265 584293857 582059936 752011112 583867093 543607123 508021986 534930704 129472079 862724367 952940172 363930364 781502215 705697288 960044810 409559027 664389110 285286915 846296656 112688848 260053657 354392095 988003774 697264447 311713090 383293517 862880771 225833112 543991276 883768790 506210721 133178973 212308129 126884754 988588077 357076913 300551434 573172112 891057016 237142091 222968730 581670761 684003519 762970108 385662541 520477483 884953715 234638399 719232313 132758715 927327299 835117926 175209420 973709176 743931306 138175387 621870363 925602451 168500843 589185866 746896680 559939691 996224683 683868099 202937057 562425876 443275235 437245300 597939427 468132035 453287602 894633759 999465039 605567414 501310897 873034560 167072340 876398805 452950543 188425582 724635195 672706504 542694673 376909148 986671887 294900417 351828363 805585042 858191061 502716473 118165656 915754492 559938045 735768325 700427478 788990329 299788906 439176240 929698418 679559072 284579234 302409961 127819593 324884215 526720404 728925832 234307562 938883694 821831808 905241053 130748918 432836747 389776120 128030216 406095869 638835976 649822894 512635950 232423709 578401078 842511750 817110037 973637703 344485825 315089361 193687598 144894688 861017559 749230662 398022988 859048233 156407472 880551146 198342428 666189899 218893876 307809584 582573172 127388749 817940541 745912360 862934323 920673987 281716378 663171804 553064013 652887924 970318275 373147008 448843586 768618324 489658174 279731778 672198834 895548363 237819441 926414982 671759406 465809241 840982608 470003830 348256928 120186128 678556928 830071453 429477038 960443664 707520127 833648874 768781936 999244122 873298912 178353669 512595247 857318782 919996685 318146905 309159269 793665983 336084021 259143020 547930901 385134922 408512333 575150661 792511025 322680645 305353252 160166446 130477786 644912277 651777266 717849706 919207285 895827625 285087664 585909180 458823469 473671986 106730881 208931732 987788692 962586451 152888442 438100485 704783261 886123491 133845685 585473908 507846033 252590935 694251359 212536549 520907409 908161608 256890309 993089867 362284950 322311113 712590792 374763380 512180855 134691575 826134398 167485481 557772101 651658659 642167718 101410232 575400131 634270522 701415466 460463661 621770953 836622300 590170044 404429475 636853211 202294337 180602598 637640154 264661166 210974216 457508699 792082681 516923006 893050284 164319526 400918274 342885845 628028392 555759625 930425750 519543393 749740600 666161254 948136328 613003751 441250842 765186653 410707145 973949399 505913144 896496603 325868016 710589920 970566231 701951886 483256069 638970558 723524420 208134271 875744451 959408780 213785177 501465090 198198840 671696617 657594197 188130310 222291854 633912072 207550912 407788446 664455778 294293891 572165493 265086315 334374368 509578871 426676108 995397888 811404045 775183594 655920771 298363612 484052563 791952885 719779455 633652993 658091281 275825995 456830651 947179605 583218454 163999103 125202661 945611756 551931829 405742706 242300298 412853955 343949311 637907060 573757852 757447633 632645849 383740367 537839349 269170280 329799144 168061722 212415665 385997724 400595090 946210775 913967054 528377757 113270158 514008945 612999028 509447165 840424697 840338388 376756195 273722162 657990224 524042314 303024761 945371777 551945554 899542863 759967463 406380152 324383616 902814603 814146570 580938781 906215786 701634758 229088769 397452065 458225987 838838681 917925750 794314695 485467492 320808147 300113473 813267789 872738110 751827769 540121311 275148888 805233778 525899373 797966353 201406656 809221792 552184679 428231127 310668273 809296750 372090368 189231585 964820983 833211589 407270526 231333567 362007488 885779011 940065182 543095493 737408850 817896466 782424714 321262590 709352821 472823018 238022473 894406169 864886234 505688459 442503827 129568643 317434770 115377572 749546318 294538394 323331833 343452100 472095740 181670920 689011738 219969725 470334182 821067324 459705994 930752247 371659178 625216693 109652994 454465353 548926638 249281931 670937343 471142237 211983382 617653106 826128312 232762613 900050120 728479516 507834749 775620913 750482346 947241283 185772893 331116754 958332812 795065958 570717894 987224356 618039724 641904337 962834317 586033861 210493696 767503372 480091679 363205068 967044108 789284792 391859194 429394360 945857039 778292523 487013316 397016095 460813382 588355475 118956097 552153222 105832191 453152109 956842728 905784638 192149226 706458019 932878151 478698647 223031605 587576996 366765647 163889776 404375667 343284254 302308830 520375460 979192157 423571732 267789777 948086784 604514334 335042427 647822670 663744780 333691396 339843833 508875425 233283766 473294279 133617393 773524009 809203553 922453321 834336809 638256876 182103590 893469266 278974380 973594065 967664487 177455877 937146690 976361581 967110420 910856428 576829616 669617118 923663932 533262565 306246677 703291226 958518491 671656252 845680182 345744188 277271315 238315909 650066224 597345563 510503512 599160605 281072080 844354947 330761045 545901189 812572161 333670761 926784212 508717645 799818479 850062783 951647218 777659442 943520164 978964784 243798706 578494913 231307590 662906209 724761494 354760996 246662329 730103327 474536550 998216255 163646396 352417377 641275133 882729130 722987848 800521197 511394236 458458331 243932139 520530635 483188323 400760212 493351351 472321202 986070567 330822919 130260320 106153907 204968199 104028199 426151467 570639955 628084810 466845539 437544602 471332638 237109631 509308270 707718231 806547800 539937968 618185076 851351035 854167242 931252301 486491115 953308170 195079200 355314245 664113855 227384716 723066057 665338015 991631877 857905927 121259374 587650848 897378060 476642714 629749142 580779976 215896537 109367514 734943474 733595364 479063133 418748181 593406186 816991444 144496288 981357063 297623502 980917866 499405727 979463654 438128278 352951684 193664491 726111445 928979256 742181823 762076324 989163043 859464724 588538062 839681403 873737645 588216893 348892750 435386685 921530311 358946770 600383417 369839965 902723765 512105130 461431582 590468041 564288015 860635380 186590498 876946064 313481117 671273139 707205662 954881862 401989156 510805305 155864794 502908747 333766127 158139243 762843765 106591404 606406152 213305890 697107769 837189436 344838141 485410808 554408242 482821122 882874233 476297396 695546140 483630701 764512789 867536515 253666200 697189186 987428193 630358291 449990657 387959536 933050291 493798792 396576648 893719102 303855209 607269641 229813657 964776153 899157086 794520758 478296979 287999990 639262291 356914131 510736463 504955771 549762006 139343758 985666958 231090435 757504737 765407578 501649795 926235418 277436649 233471521 735070655 394429518 786665149 145720067 641049074 431910994 885162607 350942773 751697370 940919433 861616096 438813117 242877969 432762618 729016537 975001594 916538284 925011454 686580144 287864953 165956107 779048151 389191423 202757356 609729457 102307697 916826846 956705209 649609340 398448342 171404907 996502503 994153249 540556599 179022605 846777831 813029922 154407411 965911155 655269924 285562417 277907707 653532981 987772366 782174286 256297132 234501225 109111862 569162322 450616673 503768975 657578226 836011445 569031716 801877563 460502696 708888048 855802818 895579955 949917261 861021181 608517109 928300181 475275459 729470150 584592073 335876569 523544137 540357285 504510021 174492384 175035703 799196876 959571527 971331090 495893390 280515197 939203015 470151472 774971387 140162468 786608127 441014047 982588190 133174000 143892076 995904540 433329678 119045522 533569539 399976571 458355263 331496922 109759674 143934760 180484971 144281786 126472102 843315169 574287616 517964901 485091749 598839020 792344463 651169263 857542262 925696152 983593167 152183240 395457544 710653872 371709119 240627387 844940453 788677988 758388157 547639999 949931032 679002695 666381205 168972512 246620007 132893437 659211614 763041325 351054060 812236441 143345366 550601322 563088283 442646972 459778992 557190621 373599686 328569753 792858927 712884953 982993876 196015058 630913825 111426017 286696650 127030156 965799686 115033412 198797222 567844144 563012793 490931763 682040411 227419198 927500903 717959984 341765154 607015544 723949491 189648575 679853048 329467653 324809667 599905733 558264092 550050256 693788819 742109967 394067880 406873093 194865288 145410017 755536379 126533122 520467886 760558047 579975393 229273996 329487742 116159679 482748937 215253387 922412461 135521860 108908694 228574941 426372454 405967741 849187499 941410393 922479062 892581267 957095558 907504484 897920659 659266231 922921701 273442303 274824989 996813729 148770947 747009871 651048956 892371294 323736460 585057087 651343220 730166107 651900422 463496420 797638830 532959894 794464957 360650703 415936852 380366191 210545785 122493404 841920519 635368742 700795804 893977123 857754378 838032934 429199368 547410666 873330523 698244859 205538660 315882859 432815988 892418008 894920176 668650073 232570040 957982776 363381474 179969452 257987802 313752647 620401191 638638772 151108711 529422771 224341508 434984178 259561989 623478900 472567155 625052948 262307126 909929109 204540811 753436955 580840723 235423221 611950520 503492571 977345428 770506507 343321018 528021784 171362709 113238749 625064834 463599362 284342168 313464429 434853042 258566416 697748570 192770950 695780816 541093934 372014829 354214339 939737804 790014108 245499743 195268362 749608387 559278201 181786942 382803394 551501921 869404632 749571992 677338616 869108133 185966393 504609555 388649252 533632233 193372530 311667194 996752558 842685207 256196390 506353455 214604013 184522396 157721768 269029945 410427148 697416588 437358810 431412124 378390680 146801156 168528508 709124148 982686373 691806422 972079746 532539611 664492610 515815362 395154843 831174930 691691833 636151211 507914161 257367921 459696265 454144315 267141567 466183261 405153333 149206001 573246305 695803413 935717124 787752088 149896889 455395044 721574146 356662452 146016196 605782720 386810755 917342447 867345247 575193026 715645727 117553293 443036989 226469990 861976629 728011814 698765392 615183244 781213660 435414474 822875103 305560798 699084751 361807972 507245126 711638427 654898270 749758206 987041741 973413527 917854155 287521133 486493752 143696775 658681795 308036575 624562903 133312926 972456131 816912183 697434699 541773781 135360726 651145851 134088615 832406937 176956203 792420385 723259935 251739699 988055442 415282691 903577313 238430142 798731793 364156559 535647145 847935810 668859894 637914300 162410975 758038609 706967331 792060299 562416357 252354676 888764373 761478672 165729441 760229787 742171068 909965738 216753058 205607961 414890658 794059596 962260770 890362315 929438346 522899585 120259665 213734247 480576155 634681364 555091801 773838035 818514779 360161909 151900204 987853570 874850083 572733769 781087986 954671933 443205066 590591888 564483878 559479379 429749899 857106065 323466752 747100387 898960606 841120500 299227857 230490031 403042983 528849347 308646948 983347670 155628945 664071463 885688748 576193515 519047960 979862032 133897885 671190833 481878469 506056685 449915329 392684628 369040079 901526408 792690247 805417562 394495170 338998246 192975913 331221505 210062645 577383275 248047664 988380840 290370005 894478359 910230629 954779287 494517674 999662769 733021875 855086553 664513548 699987672 626376769 652052834 413072748 865892447 700949517 292232393 334741485 653912020 134634269 911536962 693527949 700421694 222788100 155740638 158559658 787151500 168958233 309185565 201293132 470479269 728354304 435814578 826837522 585397159 431371114 204446272 274259292 255022291 609564322 521743469 959289497 849751165 298141851 799463792 303112052 183288724 212822607 219028362 692256192 374443680 732564040 432897169 620338322 442875366 349073536 431052146 494219763 467713405 820527014 531745300 598360369 155126153 712607659 470686103 267303653 539217785 361582360 374119100 528589231 334474423 812000966 723385262 873089643 352920088 526173517 526544282 662471738 621637206 713939958 262054626 626054707 783523437 867738635 525832127 909962085 463922434 559451870 245598548 746994894 507918069 487479554 531595053 237809955 158248820 611496391 427945516 318912985 801963899 194619698 728163087 467148768 101655652 209416941 274868656 878769678 289943613 926116311 234740738 990521354 192166137 658740565 637094209 472603845 884012998 149844541 189651200 216312679 118169453 827384797 942991868 745206122 448640111 419902124 701633256 148883137 250468785 947999584 255741822 281159209 701692698 489500699 330574265 199528575 829040391 208338886 118404723 771128781 826478433 236895763 982490796 674721920 533514879 102701993 126030494 402975315 738018652 388864739 172599376 934374651 281277345 551430632 155875305 812755209 223603449 116966579 568453325 677673341 632957855 695018274 822825314 838276059 840166893 591818629 700315747 413774129 180230909 737377010 789993435 607342099 176087118 780484297 266192166 467544599 510721439 816023651 516137479 711518727 268014638 673166219 493601414 729220429 456002564 177505753 606119592 254336946 804815563 831753468 498560879 776178705 895450486 420514905 906043570 726168201 298396774 466575757 810566091 186387449 854793007 694690243 785983183 165120911 894532300 322645249 739673984 889209048 619789122 954867731 248529380 591767557 399627769 575979931 345507452 806167388 802396272 389478170 279658783 634191780 230623462 797228714 511776898 248113979 882517719 649582162 577917773 797360429 777159372 409458834 876252771 575104909 442206422 401983166 464285413 790555505 310699379 823835918 550974378 687602598 925832669 530851173 589925341 767751513 477509526 247860196 148934773 257547783 332954365 395473767 886352895 682175219 651874190 301596709 732821385 236061698 518628776 827435064 528264603 213064663 596682099 704431670 889355228 693697446 896968822 336523635 791629028 778684367 650360733 161591271 117997332 701383681 120349673 125302793 706711467 497066894 978650667 779350168 523415798 518216578 963773209 449491845 630517216 998122898 844523265 615856387 903513965 290967718 377179510 593069746 491729453 424429835 585310291 858272799 898651114 881486185 735185559 487417898 814928168 202408782 428316653 731305193 603695197 390907320 321760078 809154391 429394632 371543810 172067797 483725236 850479539 192118484 165885179 853535737 878195335 810624755 346079158 241236246 622767596 882455087 678012766 768998491 536036092 175876858 420977045 398878626 851254608 969557134 159274516 504727195 665098973 876761341 802804691 729178243 423124356 267202653 133503315 796733310 952554298 147857767 171653415 325632081 199854618 776396977 881911676 593223399 968399020 612412070 893025892 610761167 725461580 583866602 422320947 455488232 513580357 626205916 650892742 660200229 651406102 250725700 441359103 523922609 482307259 312634679 847859167 382092095 108113435 990324492 356921414 724189330 221427998 660540498 486900132 144819980 679408825 290715853 106115016 100759424 156697596 794317502 134382156 934409235 313849746 686131484 230876934 598962191 550406051 308593280 544282853 535180071 840792291 700008112 767377693 763848855 558943878 656612680 651113535 235141107 439177737 619287408 878826161 256368819 873327389 213532436 768062982 412321093 256668818 998990567 366127260 344802370 778408935 232191771 296288299 204885540 317128351 412932134 398341250 236216074 906760989 255528752 705465370 514945531 195319328 939104337 236777307 410091732 405959796 321813854 506739619 424944407 473334464 102630060 493344552 307880984 974622878 985783156 848719587 839909360 351022204 445743342 531718456 306256694 521658844 151508843 957160518 471872200 136363004 536571654 633771176 716322767 493990948 911140415 361468170 983631309 487957112 161974269 512005163 435827265 662890679 694072981 898501247 817155153 112071849 962852016 198725652 323229090 901318279 701847280 829669607 758689821 641619017 352598905 775568904 378178077 544828792 559649045 371190442 140114406 217630163 553982000 127371010 169285842 250543247 989082841 813888210 428856596 210748043 650850293 183699628 142549803 131994868 386745470 814403718 503456256 671050061 287803792 335109899 901384887 681794386 639862611 464932552 159579491 554989977 731754250 136294138 344696706 915112572 491853313 657117558 508269945 543862455 350263565 835569339 793818364 578265299 418610916 685798339 149367418 484148246 290545498 310143783 668478063 287551741 456228183 621583379 497982255 542588732 227090466 835215854 464651860 377034225 171500890 699527132 597509109 622171994 348447963 361840864 848348654 767051412 582664920 513143274 339176679 893618280 227021275 138053270 894974415 342468660 770270935 551097969 350388247 634468180 890701507 726270859 315010823 183633572 922261076 778678893 495910097 967745553 128406690 243081736 932086844 845498308 635820033 396933292 129526335 632577360 382002565 910019100 826359820 888385876 237496149 538277278 545997289 550779778 721712857 857348435 689780540 680686363 692635242 968699445 167941859 965984053 148943875 312111489 277541994 551714466 254354824 585108388 440410990 968158654 946006563 754337366 516658161 760480214 991657997 560947712 418271265 869785862 173644595 794275792 303966572 829743786 453294049 386033374 170551326 612546449 567006903 536809781 708812594 580605275 700486178 998260490 449829058 495739078 885473537 196040206 759949539 988760274 309945117 557386036 481313247 775485842 462666761 334918255 570372345 763391896 767047694 475212111 930921022 104572580 555726684 535002939 212847045 742820058 199346797 566748071 228472052 661526479 299240012 205568009 867324455 180758865 833959744 319621846 118730298 134617232 595807377 965862052 765498271 458667678 279732886 402459676 319124161 282274755 519489799 189632447 704317636 616420281 682894518 471188851 734878046 748552640 876662295 486283439 797261720 325742477 546911804 126888857 727772728 550845006 401950487 581235027 876540887 331360592 284713029 239676869 971414887 483362754 524528286 954583253 219016511 910200963 761516448 369966922 922228621 584122543 413429852 456437303 403145548 668156186 993151558 563759600 197540415 503017700 722836882 299642314 926626280 429054432 467874721 381219640 428752173 447618581 426679080 728714599 492277738 470559351 152036012 572650559 143743966 497730041 533473262 570525612 927630065 525726320 691536678 346529340 904660043 296519614 571287327 180487934 323780984 617142064 616983153 919649823 846689111 268012558 234203458 405049287 607510634 783228050 939940237 699043086 685446418 143953221 664043926 678454825 402972616 177961965 506526148 650799299 522322818 133350337 171276468 567173326 304840234 698438067 454363836 693636666 600238178 897358717 169743205 278145680 101040937 512003645 587481000 565486220 335755608 380657332 668456270 852161486 681839879 664035852 444465358 355393828 791960653 645408469 328863431 425071566 386845979 145030203 502485176 154390246 374202822 602018778 595015789 676041891 956870238 433044051 436374428 349728209 386881611 834816342 500014426 316408651 305634042 202554580 450876935 118991410 137958211 146732579 499904222 118490414 453265204 337817050 770923971 248679624 475450527 952203455 540193556 511197687 335232829 848007867 873691321 769596802 507380948 629281509 844384321 882283872 583059576 843948429 411577555 745191719 920034996 311048681 125871712 311522425 566778766 760130978 693925649 717997927 758066575 787963835 545383733 106830183 969441017 873767595 320598556 913891077 248312541 599532577 482767061 736521303 595371915 893503666 960167994 147571181 939660324 525892925 514589230 173104814 786270924 454313056 172583252 160630305 296516997 215585980 183595972 454054370 900034137 996498946 429598737 507074750 382346725 563092418 189398769 212713915 599171819 241911237 771786659 319663069 618164818 553143456 265697398 569553075 676638446 742571118 829568427 134898158 923095035 708172977 568407240 956385209 119027771 194312322 704085232 465921785 142204256 994656608 404318266 752870775 215546045 745407356 922089730 357578958 965511446 595755368 765465556 549006366 512411139 936657560 969220201 692375631 536584183 453959084 762684055 954386274 757378097 277624818 800014737 593786367 965932297 322546004 656001874 379626382 479926257 182341901 876222578 662184921 906147641 712598947 926796152 335075062 500932993 892009696 707809158 156659945 585348601 581283851 849155001 184267149 172855942 436789555 307124588 996914680 646316751 622518642 214386802 185933060 375215878 400154239 270821738 511288147 389254363 107783743 686744712 799348438 765254408 594934061 840471515 335964322 162528609 771485132 641785840 702328533 956652163 731531481 779302196 863365755 599026380 204068787 187009975 704950000 150896323 738261358 135637516 173969664 970249238 131140879 831922183 771417598 453195244 339902513 245308578 402015038 509385255 673424050 214430414 734162045 361474327 825180558 687428739 761284415 774606650 228718455 917638473 301318556 249038310 748669796 439948156 408438946 977940184 798239155 693140547 516159360 520139563 975126701 270234177 584362785 221866060 367654363 373625324 789688493 328968226 623863888 354965311 955341095 464264360 715472340 478175485 886871149 297667164 453374178 503167755 423189201 966828787 371013327 842017259 957670285 512719072 521627143 862687158 365969950 340056882 774366796 402955401 344937026 376118764 263128301 718725790 820734195 444996633 118828839 461266863 808143754 485518361 694801691 144657890 546703908 198230847 234777216 160468912 490134369 225572202 875961618 651360025 860506791 308082126 473778878 478416231 157583335 890511955 950358169 872260851 720995835 214509069 784351708 480171897 179800513 258806175 148167551 777864869 574756578 518037197 442214673 115450030 165305417 660946221 340710340 406832732 820763112 558927247 790715382 718731742 590683719 604605757 166147034 194052935 422339922 739711550 813082392 153620657 903875184 132708285 812133159 722168558 541979381 905759581 457089203 789952089 551521184 718617057 410735291 195223326 422077416 649883634 172836388 364794011 969515036 268400687 398961430 136929712 607384709 971569553 523774250 134504855 404602535 548949503 499713576 544320940 371295069 441296443 827787433 788336021 236776449 217565610 648697373 326830820 744101374 248956061 132710052 328421295 414126834 220272066 855092067 835950882 989560995 989634904 321021388 730555050 130732319 383355966 297033709 349357262 731587145 844813154 514341629 912057783 167041467 447072097 653233585 966086961 210502937 456290715 210183878 112466997 284492696 630488237 650550891 109928678 707482950 702290887 137406246 176399524 449363473 508873186 259442173 150888431 542508863 168645958 474410180 496274376 375908142 824007427 139183354 507292926 308945900 986110336 558746767 183385159 419693505 528222104 665944804 664757004 698492376 123396279 632448197 399676078 676311974 561634279 905703007 269141156 574980618 197771905 166518328 791690233 131397222 485049758 524780182 115785229 800749033 729536285 628359029 921492495 450559500 280389675 857688266 534828304 708244342 679658149 360247139 966481818 969050870 315599191 408490566 927375300 356429447 612994731 669847417 451640570 596996774 654074225 435903182 844964776 457588671 715729728 653879558 489976141 161499778 145421970 477016089 469942241 628610951 957074345 597289373 261374800 912010833 331248537 775457855 451774890 287588875 356389470 993801517 819186430 767267934 173918780 472714063 270996389 914013310 411225600 467909965 810479535 526257672 460687422 511269549 297894139 108273218 566987274 137526922 995222306 997870753 482982498 273559324 380243468 766839056 431246586 652778208 655234889 137204244 752579411 711534077 519136614 611316518 507598727 963307693 433134444 642500053 903670635 932234474 822375704 485693312 458795706 551634575 917121010 318757722 276873117 199339794 608640258 554816336 428208457 694542572 852392205 922897072 758958801 798132998 453056362 816808811 727774083 990339356 165941608 661307265 429117132 559625068 177845324 999728291 320430232 550551195 332169887 863520672 704131035 613689785 101265840 564613774 126095067 991934893 932591808 429214204 295867543 956814308 430873825 181060492 669434174 702458358 765407712 729160838 286894077 606040185 401394505 436385576 398445435 145104822 435868431 991282020 384906526 298988279 114713563 272640226 509356550 146453738 530243605 658415339 585097179 574689247 314756373 314001263 471034020 298547702 170772300 845484620 113115451 724727177 471662108 610528677 242135756 483813282 631575406 551819166 667279754 715148025 764505755 993495493 947572926 377911182 473595736 755760953 210716129 881128185 920951487 896084903 232639060 582546129 492218419 656313467 631101918 799116668 438668772 560283649 619541236 645766970 385659817 836975253 688620751 862828683 121004899 675602556 857903773 414853273 919126605 574770313 270910201 606962696 790205108 184492877 916155575 296839360 272630371 654293860 327182664 502695930 676770569 850299767 477686223 489757946 929374019 716175198 632076430 982493253 258437772 404635649 723428275 996750877 118018994 922606729 921848020 693226652 999320646 286493367 700185125 843722521 600019660 247907958 744045207 478454904 793998283 196593966 974259149 842475299 800108785 784338260 578098876 321280225 919140220 400389645 193061162 969049048 782720632 595687554 891756267 181438150 113276485 365743365 774636667 752939507 120251822 546664308 242368043 297915974 614424132 604627064 110659586 132490861 619792259 513068766 584354302 762162634 757238947 779048565 629993357 431581423 932094611 142036065 854399401 532890816 847348052 770173511 945500410 704455983 116126232 198979583 165754421 845250881 390139375 362633475 553763278 170574660 330589220 322048792 776595266 418228643 878090119 166248768 580496659 637361637 515614992 687160769 127150951 574086991 748745142 519846202 511799007 938527155 542730694 102707028 124678416 980061639 723330425 253934384 720522675 520903561 707040606 252928899 942802984 654103902 924494343 181875075 208629538 889914645 292102645 157656464 934603174 164429537 522697309 144262596 961868224 984824972 731465463 549750621 203484241 371024764 620578826 780833091 713856727 891565660 810066662 406177874 711880281 901793063 453172245 145697949 620158154 586836449 931835333 181242930 728192642 613395234 829165266 529010069 905184493 805733470 634306068 215148732 787653401 701548238 306524002 755113971 143757872 606499191 576138754 221563542 799208676 326005497 778509490 681828671 120636637 963226711 664877211 476334865 176521949 915665780 217705816 245500866 958175193 162691553 684445909 416343820 897849943 322586164 935437816 250388568 272324968 695333090 961522430 607715206 652356091 189243122 837802454 440732849 231276455 885437251 895782186 583791343 122038212 141809568 620433053 510130139 518181175 452321037 117069413 528961452 530613432 268985606 220261576 552714184 673257118 934174767 484220252 939046444 717454649 947045355 609835726 795490419 139978691 782009038 675196182 480804323 124007682 952086163 356330885 804985546 911755396 607268841 888468134 845800723 436178752 386869835 669605667 340306843 534578626 718801838 670375108 520384021 683273560 106525474 381589098 911370765 676933671 316918867 608079558 453213493 117473559 189641065 230904459 127492637 154553924 865440342 819620394 614816076 181985180 815596866 302894285 299824941 215133956 582446332 510477847 922555606 175879107 171183056 131713544 699513498 546939467 676283443 797982222 408014318 512387924 444178756 300050925 224445262 377648987 478492288 886776860 896340307 113004100 558278786 109540291 838295702 243289194 110767607 465467518 827166023 641834364 448609013 630346436 535753038 404390378 249337990 641650248 897265297 823877973 511681563 809455830 143470101 852891876 573022926 841303315 757907800 357896707 250596823 901598598 284909138 682572919 397790077 410691785 691324609 274601158 684788685 868007542 885080255 850282661 193255330 382680890 886944794 341536797 388036629 965243486 188927731 822831872 119359272 554435939 470189956 165665458 144199368 391811532 887272428 216339847 638695499 558165167 474660916 897005429 375575424 975107715 234479300 896056583 937342313 508613304 554773140 655808407 683600386 834699841 370830668 446585107 816839995 866644854 296402378 274669763 773131524 326713203 467057218 262770896 261038271 746295233 848730495 237284910 185712482 325983041 293815036 693592262 287130978 932368973 731477977 562187426 944035855 578162651 208291342 777252372 322109672 752808253 498372254 894630288 594591403 782923136 815394479 532480255 764273988 219939116 526663680 818935793 538850449 678749370 484686496 970175807 160694029 413435465 808677147 145091719 138994127 173290830 735623749 148099025 683147950 866071233 545434874 823804995 642947103 772463676 414981570 536291309 706032904 780066605 163882619 827167766 562718469 338377394 103432011 358092061 306334518 859957426 447960498 458808291 725675334 541770129 136125333 642063481 790578137 837088923 721906008 711653784 647821491 592429575 437435895 889023241 950771843 226950605 677654467 561991768 926951833 739228196 265436401 910454506 963171998 324965392 959112033 139389963 313439918 503190881 389601708 129495180 815114550 166159208 124636522 526127333 800898503 232092441 248226252 807089485 412569228 873074519 188157591 284242341 252030085 875159965 990460216 575086204 855616108 176266645 460144578 892290041 752583759 817352394 706754281 633285603 285277645 524335953 925384566 785453227 324559783 794900171 322072448 652584450 196915359 279901014 704768247 637017693 819218888 866080051 721115393 852410730 675030932 120699399 118918889 911754406 565229021 162515588 850765798 994226968 719612900 390037383 222339483 102653585 671073691 984309738 763815013 256782856 261662431 502855792 204535354 981735281 397820024 138986116 369042262 177967123 533078706 257923420 770879159 495354315 978153140 744285567 101550221 156980400 797101768 668129307 316497157 733799004 490696765 563817228 467814382 393059778 951864614 151797050 998533300 143783963 608687015 768323357 982104543 482627583 843122719 339487721 755226936 554624312 219476657 312537173 996130553 995608335 343801868 926439211 736971043 616860413 162707990 297384631 389524503 951782841 978749865 228716250 986995153 868510753 258385850 365945676 467024938 118926992 774642538 759124422 376929999 360374395 680109470 550597943 552284795 861867727 810918705 527880747 477304685 446519901 958258080 865878555 688590334 373864890 496495370 308254172 508200523 605031715 446534638 901339980 640719197 767777720 374171714 455346894 468985786 767887028 575321360 836055350 257349402 824120907 839866503 345771066 476431653 385276215 830002848 427891265 426652362 630730124 856143828 458733058 631244497 486507457 341388726 146454118 191570131 359989179 631991377 996259880 962740184 819425869 349421040 828018913 757560408 683791307 121672947 901584371 635219378 484268159 830829995 713748124 287847998 439756953 857481215 787086624 729814332 126551443 203751423 579068229 641330656 562354667 487962919 934826478 484540420 498736834 680188116 962296587 456287204 375348480 967042986 660351598 618389177 881056713 515937778 953745258 607217299 413242405 484071695 761252268 851943455 718363692 586850830 908028010 249882858 492438624 723481223 675228663 817877007 242710955 532832136 581929115 612248353 721911679 721046180 515782809 121912647 998986544 982049702 852827824 214415343 361295305 641866011 957397212 958725145 672880780 451596960 742867610 498664986 956617445 832459262 540368096 702320229 863224062 820771021 551491508 301119405 994708693 986315355 508287271 921595468 644039454 166779241 490654778 864265628 864456177 853960478 876912762 581180840 513933510 274837354 194591579 348318571 538708861 480797217 574586645 107402566 950950511 284498602 642316237 103060134 526978190 396740961 807995253 919003464 836343012 902539799 163533223 251419296 372228452 456737073 779489970 571019947 211648120 701193855 558017001 631835898 615280852 164390550 614813696 105734633 109914388 413204770 143337417 430137912 126324162 256513623 719996191 616321197 456168733 302215763 843937417 714880001 416808720 662870898 508887049 876910811 216318358 653804858 753383408 409727153 622830121 716371946 827921370 254412857 216275398 939976907 332228292 640459994 202649896 746819739 824448027 801363529 195096345 477656853 855677303 760626293 804579967 571547802 978757868 453121184 983977651 459184193 794874698 838548967 184364535 537011030 278283986 644030144 557478606 166113745 217816303 227324150 780127603 528016886 674269652 963216771 418688707 414376341 622168424 426276188 251670715 664735005 888063449 666218878 700566312 724306770 941584352 342361201 371554533 477661694 894284561 462985406 555779592 331063280 692854014 248474515 502666896 675339889 827016558 127318134 776942857 143749564 910061791 792386810 698558162 297289232 556376031 878783126 217201575 851832171 467868130 470318618 624814977 173137483 299943403 898419747 903081490 884763065 976809729 555011105 827293796 392141984 439986400 290637315 822751887 796513267 898565788 372919251 854015986 138872456 479187878 899822938 695613520 279293013 282880166 495749110 313861833 841838593 454189592 116137652 425566843 684553984 816249957 635483642 738675679 358027051 876660695 465173516 889059630 770897098 305359081 102182010 852255639 937753636 958233379 819257926 674497439 652020757 153735908 768408767 690952028 149634984 909604422 577604743 615897050 589524020 916763232 425810675 575795156 785569858 403983358 163413853 434865681 943180155 199676520 223296777 621110852 502727360 762046524 666190426 983187974 264637317 843368543 511121193 894392584 993161162 614972755 811888251 650547329 644828743 526081774 171406557 895190085 977681977 735338546 894153693 566626291 988229258 757626963 682347786 628392024 418515864 896144731 638438355 445657525 413404239 726063258 143452986 517962640 980352522 475427585 458989695 507730222 249102801 411428024 476809238 433601008 800685065 338763729 214668449 244804402 388587840 824351407 638219163 334274700 212718536 796175418 116469036 166786153 572879770 887175627 350564496 883011146 496918838 818484746 113415666 923633831 511027874 400864328 604610030 322282940 172182732 366994241 835932299 550670911 637556127 789233195 947768200 745918483 533822073 646678497 658704821 569750648 600116466 348240148 111042976 992973476 231013945 823290189 311689823 594873275 109881581 268004841 733831921 407459748 470905964 686602449 506016262 356205315 138614612 773370877 124738797 680226765 503147148 820294352 552182107 342875024 363072687 488242496 149197088 776935339 235924073 641074401 989675052 434524682 948002842 538730788 329951324 222620803 125559780 227105310 266305403 321222879 707258261 801622085 980067291 405276315 136898754 767789553 454837315 907429478 439209421 621467138 599784975 471530178 812427952 335896343 527175975 414587563 572569376 762891488 159440840 847456231 733937939 997134673 419717524 753697270 428146938 555551497 761711461 706537854 474086561 147316771 321764144 132002006 944092849 322674282 322260467 230843552 415687771 860995663 663195553 405143495 223899338 953360547 447668952 522337729 434409159 829998020 223360863 913680554 251774922 845266378 217678280 447391942 410734036 369733440 640314424 883086291 291782759 141788350 324591584 957147861 577009094 989598609 973902502 677460221 676959480 167859465 556005811 470949316 867989019 826214537 813369759 720329055 650347111 998196273 918134368 853483288 647525834 223149775 801543821 810578337 363449885 773794175 780986491 208946506 615015900 236408318 206378148 720467696 720294046 463836107 782675107 198395584 170809555 119443614 200067705 274212608 850714375 504280242 585410797 715708274 363278966 963623584 482852401 359726848 475210619 392240320 354124342 917377953 738912211 599704799 820585667 347571191 835127179 229019293 271187377 476448528 207659468 211536320 863129471 180826412 755137921 785250427 354743816 322152050 543474316 123681995 934486353 620495101 815818605 369262276 816174913 927402383 320863892 582128728 315154493 154817930 625642958 553570209 919105832 382345571 369174760 763591520 177203953 811920347 859348591 879769509 104370807 848516334 634016120 800574425 344833186 207958449 120709491 643928463 716002537 642017142 587412461 991502148 655474826 891934859 994184108 539041489 494564200 209401702 279540628 818039347 531096565 469985230 111001298 558641545 496052497 450106048 406018331 634195334 184333258 931668546 884536655 541064249 972243910 503697978 876487169 513132419 913365713 750547524 130304506 178665849 853459230 898472034 240505053 436810708 927058828 661012576 684807017 713527510 466264765 822300106 926222801 655941070 272449135 174019101 476593820 856890973 648795474 674236762 323521950 265699524 688895950 719696494 495449736 841514456 228638022 877139121 124072387 839622491 182141710 299280109 650770152 325741891 366070264 511578725 336645964 663428971 385834391 718822139 238576025 737318822 779402131 366831148 803585054 802425737 830600000 244071848 639726388 372815694 653679662 133841392 293125603 550754219 732309840 178451149 493539592 958821845 296847256 183568008 450556941 725550308 686402459 284255458 542970438 734208583 114738407 220635192 645688076 804829258 250811778 835243486 639468407 559652067 699203432 301106842 630624728 645701343 879403050 331681679 860925297 415992597 394940895 393897023 828649312 549057002 836061845 117636073 246860807 284047418 922386394 341159092 456895513 228482659 168083371 646226543 914093388 123317188 998020784 634497247 215021758 612216687 518341055 670187962 332063153 363581248 529945043 244113260 842780521 697923189 805048121 818678334 805596381 426173967 410357299 625419907 840050101 311601591 989380030 709338863 882018296 298574953 355892132 599201317 540159544 980272271 930932180 415780604 962323404 465709652 878066388 680196034 138991089 238080022 618175581 243908654 415180090 421620561 785899788 148757994 633827564 695514382 984176757 885961551 619831577 360798095 239708056 746407969 817222839 737176522 287512046 447562560 659267715 885674743 312914544 595710792 735095636 791320679 730004895 389640231 669482189 908691003 338947729 492418492 455527355 376978210 624643407 693190718 248813294 332333990 719043512 271616691 424712436 775622886 641293287 285607895 409167014 798997589 844058670 434318836 438013947 296963217 175582692 483194821 626479489 121462145 240096178 972655993 880318276 456994349 762139879 515226022 777099917 546629110 935007372 988014634 257029499 421173170 991332748 128841787 590032727 828306077 627232097 528227372 487972423 859343044 924979230 903136612 957028924 728383757 760078155 291350158 796590378 403854605 866714085 478157217 813266988 692597100 992062497 824707564 806087833 849444458 785622624 461198717 492951731 634916188 851567256 434620932 255975645 229334394 924756223 434144818 477032297 322348038 952814856 210032698 946040561 143719643 553659562 812517476 966261920 859846566 818875414 454262613 355267799 489381133 461123941 321346632 662818871 839570613 676644415 206676294 279546720 526400687 481566635 193059511 402906253 339383709 602499263 272462835 533410188 106609046 629074313 446785805 876676306 394234637 400150725 445909557 431342741 165941674 154964141 989212630 122941349 823678206 318967369 100747623 551923022 745488149 359562444 546729878 103141909 255099164 682921550 969819827 711425672 565630366 636447893 189058628 118449985 911958465 315272360 684458050 528615794 298462670 737873917 511563360 723979366 794647782 595063058 121489016 998498324 722510789 852204541 566010157 918873804 515018197 593164222 953391929 289428821 227828025 757973215 983410987 670030473 643612390 947024493 160040933 793969004 474458497 927069890 240232935 850929176 108301832 167404421 225052614 106528773 468471098 262821449 314644362 251800203 737672335 694568592 981673808 247286924 491172537 610769030 376988402 216612024 830964858 453619531 806625025 639236219 857625270 674126939 434567225 555800834 935194499 661150280 172046869 923564740 633566077 529464191 157352173 406845775 229716774 959443103 670542748 247061677 321631180 204861671 543584439 321835543 320286731 154119467 438789799 325886674 103166426 219494638 413798439 822354560 478136420 469606616 996557845 271420370 266056035 902746908 546920984 786140550 617530734 763801982 701328056 169592361 882072821 949221910 840034084 117431665 568705167 368417151 161861357 833098394 866228841 666816096 689486007 876346117 928055556 162944633 934392920 148780866 106289189 612248000 799475244 460200367 869448773 153556535 969017595 968777158 670500808 674339750 475303905 928132207 695968895 910443864 689077740 305638448 285772785 186579788 954121126 240179881 314066447 101889006 547910957 950608399 592581659 578576888 369412104 373457015 164658146 229045008 510190818 756658060 717695608 531921094 843517604 544322236 537435522 557961750 590096994 871240976 746465138 483533405 679669994 771786106 556110933 241986119 990471363 521360617 482681661 287708236 375282660 214031274 339847962 102182085 231104684 525865875 396125158 680988912 829270669 181523049 683947274 638595375 895462219 861760467 483553087 739945817 640934890 400893447 608239867 377238464 186647882 293013172 637581385 819612966 538883767 143069288 474650465 358194547 140066451 107959888 121004085 134933521 277282813 273626181 774388925 586438322 583534833 524837728 546915696 293306149 491840802 996576467 655155595 261519261 576776030 133019651 709710802 326033004 185818119 410791183 517589693 767039314 369273566 377117317 646834569 872826458 938394183 726525614 559455845 940853478 146071259 425476486 433397285 889539778 823155229 313453436 928052541 151671179 881245892 789200144 695240941 662947858 269373066 462681574 260828438 293791857 902088215 271251777 200774540 964605393 997551114 707085876 527051965 636975507 871996695 101636501 717570411 982673833 384848514 767889969 416593195 210830136 659674301 156065097 325714366 597915051 842302440 823058597 309942019 920205302 509988251 846994582 433712369 976769466 906932444 655633395 325975576 993660046 470663785 277992618 190847906 292339536 914976962 184471872 241587205 165900376 516339004 865667412 792147255 482617682 648399842 127253997 985825669 390019336 877000723 291870397 887699482 862593337 797610158 373601985 388583472 377680292 656475069 814518442 281641841 120534743 372866941 546749938 330375899 791371379 124730584 343512733 960852314 484003376 363696581 121892906 474174762 681911080 726651377 224650817 294047174 161569003 349402864 995675368 395193372 692156913 354561942 662689876 175119019 872039642 803634032 835690599 614024040 134414214 605550452 570549535 536619792 517628439 847993316 124554333 602051333 357968045 618821549 807865265 211530709 979222175 785913023 447781445 324308168 885419380 858039406 943374879 473430611 887264519 636399244 890982860 642632736 732813305 716316788 724675089 541790156 305064246 804228244 876727800 684373212 342073980 153578004 611318353 816252451 878911925 189600087 825993166 823336249 779337995 205292710 271786457 134647464 352080815 268571434 835619255 297253970 458147032 904759388 195627777 378733184 327418704 662299113 538707774 600955584 704283138 942333579 101890051 757389910 408279836 391835341 679194115 300474897 906191664 646319579 440279559 421008005 886003974 472262398 497277209 187221062 577336845 954818279 993044475 125527530 166982926 527460093 404755117 784825286 724978341 455308274 469905798 841378925 796784767 541509347 913632294 675784857 401125824 469615991 886280462 711942460 758630070 644027435 398040033 838207685 259020409 751990088 785854444 864685849 253480017 355675178 394077786 407251789 307899477 339154120 795339073 121682395 356417241 779541685 185042901 213356981 273048397 670174533 978028307 668333643 237972936 302054592 347885286 887747825 444656003 181590871 661379458 902983054 828825071 162200630 357256580 129146184 993805597 781283619 665213155 981077225 602913230 274692022 861772108 651741964 153068764 971037446 790262851 756059807 870581449 966212937 147029814 472528124 855481319 914042740 325544812 736057863 642145339 343054942 875522525 954372792 893735413 346917576 423233395 819188264 636728100 543794081 813503381 448785137 912028314 444603884 842350870 492794782 692876685 117672667 191448311 347536417 775292685 237349435 503299898 733276364 622197788 912815960 187174197 169195594 109275932 473079875 410257101 691645699 837244689 354749354 759650254 792063746 967361968 374096222 633200792 348020124 779769059 605060571 461918924 885932779 607277378 572816563 218612967 858266948 646864334 923034481 380746208 290162717 546306026 971965695 584474445 156877979 226098916 563165864 175886412 470112109 209021698 984861727 624025102 496378651 885759176 403415061 747519726 929817337 270909165 849828138 658183218 305476494 379647861 105990332 778514727 892153181 144689911 935697993 744651098 206441588 915867098 249535363 534430463 795267010 657989856 494677819 889027703 835042489 947873652 778220698 633407467 718153184 182129369 187379965 750562788 611317462 217187099 268866795 118884667 497579292 502890797 991345922 495982503 231391586 399748448 983972779 417400082 268635427 300632046 133316975 314401670 849654491 600435413 265038017 932264898 537481814 598171624 676356121 825673151 788435507 777578736 581023883 389916161 634424087 539284732 742034479 161008778 626206670 480812154 838715386 464779452 170606543 245899336 586774743 629427192 751283940 967333645 752731048 420225452 649385015 624663693 655094540 663900018 429224164 929179177 740431869 295836612 698309053 694058567 650329966 580289571 746673348 203997010 366642132 771401070 953791920 666372451 435345216 604688681 650825421 230495998 251249093 145592595 124872875 601610681 241881307 480822940 146144002 479691196 304961758 614609772 889572926 980044973 578972978 722242702 508915717 808371518 238369898 652123816 536808116 875971536 932184055 688236810 770451283 274730956 857622192 148599211 290937871 762340204 587195797 983451787 503558286 413508223 448981645 292253948 383010440 311668882 249627835 774243029 904942923 620946515 124089489 720452499 894093472 168094338 591317000 894477828 650005681 714344308 866202664 794184170 642162200 852598683 766439792 775425124 560826395 502657974 453364701 388365295 255032238 527991179 278534628 881592021 691577587 685964072 196397455 154691664 368512846 994969077 881112338 703497495 573840406 112400030 967878766 353044218 621837213 659732656 105110538 848622029 375652702 529196367 482845111 519487013 707021399 403024175 527323792 664380015 949947025 963253729 974412455 290167296 830059083 305427598 810771323 376516666 202069245 718653892 278389775 170822297 714070034 962306955 199214423 418484119 275842226 946339423 705424143 620416345 455336199 212530424 780584139 812545849 111082804 512232417 520311790 152618232 431643314 937233155 568203764 606825543 458007688 769227167 661425116 339035090 125169096 713761612 459090249 448985363 816164163 926054448 701006431 212630078 895291127 321940907 833711203 424933206 687449821 136027569 265461170 573370127 903834332 285951175 779466452 583776583 814687341 518195471 690234267 407672961 135596454 520714392 604504380 172273349 388661828 146133634 305095585 298663007 784474288 921410097 547671313 351516323 441628304 467197734 152281325 387453609 259519535 422858359 140666372 147119552 583131941 778607964 938853752 804028903 903954581 109174671 768235300 825280592 948753911 341264057 344554936 160938143 251109196 790773933 130946050 267409208 529314890 202004610 949054354 650363410 399794192 237713732 298796525 899220722 484154722 909085520 965373532 153320507 577031631 369300271 863551062 559006030 725592477 325572903 218042242 711314630 141797113 227739113 531182287 496222703 372580837 842524299 565366921 988094246 685072837 507503851 414975106 542534690 497789376 148327272 502686898 726081515 764265045 852281034 955742843 356061552 235108656 546585925 825518899 534605990 626037363 165606853 898491344 421343131 221033757 741838749 125420592 196046826 954709581 118659569 372937633 968228765 604722056 427716196 417399201 683394764 231418330 656899130 153538010 241975687 558819114 983946627 186300555 835426823 371090929 837775905 205899464 811316134 789693339 211968077 320349213 957570409 178004824 196139857 154186530 144632814 112178894 927366931 764473881 228320461 154210970 519217542 242425923 894505355 358364109 442508607 700349358 415895706 230042844 139433063 962205065 681430896 220736622 726936213 726466101 826883340 863699630 878470023 466054036 650010597 683542274 643645870 182997981 635749528 877977570 242309716 250107451 562659568 119163188 847944315 176827176 841878660 216493918 684718749 433013260 817660932 424051273 168098173 678106515 719165074 493880364 103020981 387376472 870462283 623350519 424112676 270262146 362136238 600789348 427287124 726843332 255272175 453147562 738351972 429500162 556268039 422965104 217131403 378792428 567913030 662026488 104476269 391803690 355747320 639851287 428550662 252206281 631791989 314778571 864954653 325602488 215692080 674063517 999820016 883439274 407319369 982205461 782457578 980167822 654873048 783177743 909541243 669859730 199343417 928260875 497749905 181417716 927623186 216270936 938060258 322973833 440550909 135730496 285477256 999397484 991016851 882850539 750470274 693881254 261211019 680914002 367970952 867750743 841520818 972999111 973826383 527628434 454511311 995110480 917413734 330454528 345836552 934395668 326477933 211653006 775781322 243474585 788816736 242397945 393539516 831511178 602258401 147344085 613291622 226039026 834407674 752536389 361931133 162094047 765393661 392912400 507883434 839367699 512832145 684833306 488888948 435142400 463795253 734036749 594095742 489530280 203711629 899423598 914084756 423229732 299723069 161924203 952111251 499600767 174109842 401394436 941217068 546462355 276806890 933158016 251153189 495004991 515361217 409032743 827970279 158196366 634815098 767930967 763383637 517984179 746613028 395631049 328106856 296127309 227691016 701049880 152098038 844561099 374441741 228945068 953246332 915699181 710501922 877664897 173309705 194280093 227204626 956897461 660131093 622527540 743426474 463763594 588804654 770107726 829248909 171452955 219719659 286380142 251405309 697985752 336650000 442072153 355349702 518619283 194387655 790540181 108377333 116770736 210362521 957349767 566022510 165165696 757966450 330871187 211890856 211213589 263682259 221344315 687021760 465898193 115400691 146371383 824367599 987122359 336294238 470450540 155425978 274811509 104570890 170777236 719277771 126619892 328334298 719507332 640134394 413212348 223721396 652679136 494498930 777083982 449622654 703053050 654879314 407533421 964861207 421132630 139741513 194663293 616073938 511839976 126723331 180562212 129473881 160162226 166190282 445531456 880346079 937739097 686903664 974112586 430443509 751733499 821111154 797820824 263140497 579967005 612489938 379740988 419125345 356048606 850915244 958030161 245428395 291540697 214478708 343746439 436308423 698634862 233473399 549136151 632806257 142353240 576264454 131973787 734539673 893867954 976545261 302089378 139312406 838839952 664942534 701022100 780594811 390378193 547639646 989090773 726667033 745660959 487940409 265817372 852392300 658686836 847761954 288603252 972434625 132038087 218635163 469307645 695543645 399542134 509014591 414934284 330811457 200847755 517278676 626619765 906541080 813350741 699090995 414609322 802076925 603371032 316265137 977398587 621271168 278306466 429197032 592862638 314745088 976424490 751915582 873301408 320724344 686951214 296743064 495583575 192640762 262288042 185348548 780588021 487942418 481105848 438506929 699973022 480291352 298819627 290082569 521548340 917237791 208094766 199022525 811308943 538815675 433194236 255075388 164178009 976199813 628907373 605818087 182421761 308264351 664886629 804474380 671599828 568163103 989609148 657307076 850346072 545684134 573281217 679384629 344403391 685193805 324273286 482912996 277357815 746981880 475917054 102933039 806857887 556951204 665290230 632229529 325565109 400741813 851273899 700068324 347839748 184377632 861855368 917695263 396076329 553156435 520622268 673504562 643791102 646153143 974427659 710922553 721103603 919226949 866712800 437461614 135645957 539549104 814084344 800437659 374528025 541703095 718707400 595638886 954589116 980768667 931948626 835508481 999144887 378161707 148776029 171488840 916356310 890863636 495640890 441630510 531795492 579411944 455703859 897052815 292613633 307430997 608007525 127718855 252566513 738523432 830488879 709235598 831298359 159700465 773302241 835320570 430500106 465378235 659061562 927063268 702316969 777508105 482751491 763845586 284386357 331241688 223833925 194900056 773577372 630457523 489799338 578737448 689017755 776757423 498700393 600846587 895453522 602643253 653099109 496570394 758619142 599576987 766713130 418918617 565064698 691395720 425711275 183618359 615279707 801123576 948352904 343041735 331135966 636402497 955100785 645804233 401686331 325555627 173969228 866466403 415628389 902290961 942823761 593171378 599066442 436557775 190643917 136056039 868070240 423082764 382808393 209590005 316251791 294385187 309832533 401957625 210969779 546021762 343365764 809538359 351427004 562820309 964005674 867338009 320158916 886971321 800666947 474687830 862260892 795425629 735306422 847859132 289763294 229822511 807328925 961149177 438241737 931422853 318056280 374668520 835508253 484863636 268688790 582874026 519455467 552959794 696886580 972134148 176771905 706454976 844390522 401881610 288102363 403505077 344535338 685862705 261732071 930126660 871592084 236009195 128288133 508562786 168758624 112888466 836359859 590860760 670111373 471695831 661689461 892688234 932177835 654561413 626467832 426390500 872438659 973192765 986772077 671703096 641838511 321013441 433582734 760228447 169223496 817917820 254451939 363492962 194517612 365170335 457021232 410142266 309644685 741669582 820221180 743303446 463564236 721075719 723711925 139952597 551766465 983728897 112662962 981158955 476934043 352467587 844942915 574204519 739474710 548336436 972926645 977559616 421748377 423027632 136920782 809312022 254455260 456129049 708040905 322205667 329344805 543988933 795549052 960131559 504504741 232990756 162182201 754452528 323123329 483313213 365964287 944641616 865891370 848559886 152462257 125431687 141114949 333255233 407231269 309907015 475459342 836002734 140699657 371839974 856486387 121351271 975259569 979219043 364880337 425220781 712676363 265699105 387982078 469192867 694595621 101557913 224005851 104102370 581865031 479612963 765779776 674971829 185069316 968697790 242286261 893344830 558527432 461993325 242150469 576773206 143042366 973988957 293753946 677043785 521406473 519186744 444129982 359727411 748818592 858256432 552964801 102970040 350785886 526048477 122990734 328419857 811309706 503985063 516611662 890978987 613766159 320853382 945958661 360850371 453535986 305621354 284632783 331142565 770202143 216980802 310486966 205098663 359671951 619557810 715629881 103070078 111206967 120491495 645360499 698988302 932106538 568647940 609925366 549804606 662081825 683378593 814110204 838371729 684764357 391620943 295914698 858772756 102917500 845278608 159631718 466818882 471457189 574315586 535580930 854879603 399646952 166061117 424892190 666643569 846940058 452221720 979316839 360604232 733863141 672390633 374292100 337613494 228274945 571658345 404994098 207885372 281552287 832036510 886199395 973124955 162063208 312784114 780342614 653243802 285985700 440331243 376623229 669466994 205428616 601814701 466901957 711730562 103215265 900644139 961952291 128999095 889414474 260132717 695645679 906537571 323153197 980893001 563463827 952687845 638273510 641471213 458629188 270593735 437791712 170555578 496829405 151705174 539669855 405260717 945083091 554443332 973771004 484093853 916228605 803425092 908215424 665076743 703964195 777678441 127945031 639336890 902283568 842462395 657453195 247358284 707872777 387715735 966224547 868924616 399236685 866579722 656989953 357869989 537211515 334695560 843319791 325565572 211585524 704381212 442119429 415094408 291636937 571859006 733032792 180110314 235428459 165007724 176599389 134552876 989896688 151676484 142700434 100391631 871543461 190618487 824433158 663098842 975240909 455700380 856914701 370551676 512774961 366942455 686696120 747165004 501019820 273281887 453376604 323626742 440883966 460212166 160692950 144467507 498163600 200475726 213933430 569097361 514123727 415981960 462182719 481100711 277867902 585263473 773395627 126257418 934997493 575998715 900432055 780004296 206437505 163930084 956580082 247487637 894109914 187010762 449389048 484590571 999752994 412370207 794225021 306554426 541263136 754428823 874391426 346053621 888308024 180619996 462132117 160312619 390644958 630648445 154847640 839335036 552233184 816637862 983360440 764613697 902852404 277973529 494402038 128496287 497412266 241671988 218323735 239124914 214143070 222049394 739018836 495696557 607685317 158478730 975825733 508635221 819626431 632658256 636659095 182166767 729595060 802867890 901660587 787457464 627582838 733735651 530690530 978863283 537114150 665393511 962820838 836736343 311304358 321411460 992841143 489357141 609403554 343510650 178846115 978593065 697999356 395377159 741616933 407969506 798232188 816736515 939167413 547990597 789965358 809502689 655270135 412878728 695644232 396982596 317125479 897405695 121784537 411004787 508793437 318035411 393108833 309610010 453455954 500257159 161144818 405478722 378152516 735839341 525783779 369142441 132695112 216900710 174571617 170509086 426206287 709961685 845455793 864954673 870421664 931711138 319066564 189342115 872816637 441272610 364591569 339477424 195119815 196767217 352331586 591756822 777824815 537818728 966958469 941429804 275108350 855934850 291874684 359101412 448403226 396784462 418817822 353852304 107771525 829277708 232021108 389639235 826247359 881578814 797428272 339539399 690158856 795591016 325497480 479269380 128043866 818936514 471211525 616663557 168918212 458469357 793568089 600901623 835335237 373039249 327039413 491066911 426657404 644917241 184632312 662831047 400803936 324721911 944491893 559214965 461333941 515633423 530092204 856789157 994870415 541242336 263742334 824733359 990011593 501951325 309389490 933476959 202212352 218758323 563453126 549589381 819455142 267217472 135260020 417404500 276850977 335595702 507548326 917263617 936413221 300080403 111116677 610065705 982866525 931446636 151534470 220654998 978012730 381385960 643269272 192115060 921523070 251739843 869569316 742735699 549808610 674369292 565418639 584044673 450586286 852862476 225568192 573388924 537119120 580233511 690940140 838421612 159507540 172750122 628169729 386731043 132344868 851400069 725302287 744462584 643309820 208822631 442119272 319497097 387048819 579706631 648654080 650734136 824908715 948359570 438863311 365828791 798199232 555113006 360637700 221004329 403429179 821344270 779537599 425789667 235550898 537138260 354875638 222199495 558569311 558521586 141714511 725447235 837042443 565700806 519296403 447525242 539025910 376426920 720421631 562623758 967341255 888142200 369848902 821223028 157567795 947118503 568200674 713908635 656951660 251515439 897856026 730815169 938202824 325900167 531838518 569100334 189000345 324520050 352675570 987888321 885042469 374108489 180907248 639185129 282934902 509388083 263901149 399600307 576746187 503456125 603343773 108881766 604221409 960952201 655971066 497148926 699165639 580207782 885170005 487468667 801228027 579136782 609295976 253642641 106552214 502737736 261773403 411669469 201933327 903669651 873444358 492944150 786663287 949681431 652566275 323723245 466918402 255246675 754055916 360153819 575716850 785463635 103950757 197963902 745276519 575784842 781344743 317830564 940593490 277155904 981501080 383781099 581374170 928618690 485946363 338035052 189028703 520658935 602263629 126741884 597541397 434061580 841722620 316641510 669440700 144733423 961882483 736149636 584978735 199806292 303556701 761718705 367201923 707353574 226271903 300776414 349336673 933409046 520209023 677475957 454370997 595967648 566072743 472896916 450243917 451862809 520442904 288962640 154272025 442686412 549135044 795250624 426507283 755345730 215514775 468497628 147868616 473671597 594632621 921373256 190649812 504265879 131308570 131957325 932721446 273997856 289070459 246042528 560150988 454368035 342202726 771702334 161271435 894948092 806527856 975045445 657824465 270770715 878961529 207745501 761405513 880332309 889960502 422018386 390815597 628304481 517142481 624489770 857506134 655522258 372003745 967127231 548663878 277356512 441673105 227243866 691111390 222454188 647011132 524549828 980987034 211984111 136296488 202843729 815472915 322853637 710199245 478143201 146086216 686307785 801182131 203239686 603294269 527683327 228515595 359045401 652069429 671001572 952605633 956059208 170786619 918189197 251834283 587840877 216295336 863937767 636610641 357005084 517833578 508391803 576823104 466906563 162579408 890329964 620549982 479973987 384801829 607294058 611844762 259761608 459432523 543428656 243465530 924454227 920208360 636249268 812795471 156313068 553022862 202216388 700971563 285633669 965307122 559426727 864510209 437757280 900841120 552297923 433733852 914925015 144002371 875670108 652347471 910182392 660352852 226473140 655252348 598978734 656741140 176703784 412732169 597602286 283364002 666829170 357860663 986807924 906649470 830020328 209071408 144361267 696427554 523613436 104642866 201358902 140840005 953753021 785013433 255369366 971986491 421662937 589241638 246024557 107093399 577643985 201983898 531473379 224272174 787098290 918176687 181736995 954728507 994487227 515247965 180296279 492911755 260474050 181024806 317566305 857588028 201272188 435389239 113708866 235543272 312023830 906795490 585079895 596584716 697221950 651064824 940383307 523591886 218474669 853202521 403002302 877134646 394835959 582634995 116920416 184360260 163833236 977009931 816280903 661640377 315869622 792627417 894994002 937044952 774271335 925673881 254934029 655086968 868262681 849898331 575021998 464252444 492751902 875395619 589842629 230703608 290275944 146440572 717559192 816604377 898418256 745193305 562914965 789939364 722869267 821229116 607994670 766160442 417297293 101038855 109550900 806620107 522014924 111918580 597830730 917372367 217595107 324136231 504006140 574626587 234605347 160389013 206714299 496679561 749233006 188309830 984974281 310163311 866593985 174447580 889713449 641670228 240029636 547189118 802922813 694630559 925817878 852986884 286063013 881636603 786045552 201804309 205845236 928097479 978456041 244001429 645707862 391056776 767047328 133321664 208319252 257832739 856582631 899801636 380235635 759306572 687100434 291071039 321518703 475752165 282179727 709142208 250684042 804685720 779312544 263278217 667746081 868267592 179571422 192037182 863241621 444286155 840233728 867672568 314339558 323010180 323092616 201722065 718709520 656173222 110149386 181029751 210009786 126489426 765012289 326424802 128628885 978656854 659667587 391605180 414546437 149905059 429460771 224614353 241885703 453731853 445755046 523066341 927180925 587009679 876714858 695672939 552589509 252252921 494868928 593975265 609783259 667183972 811801342 133987994 386763361 258929884 986531024 583738790 882306041 507594928 881784597 577749071 467889034 490886419 316547359 343986417 137683384 540518312 915961962 829905519 315252819 435155144 974537515 996025080 971850728 781076230 713331037 915562522 764443734 201161913 989086925 728095053 887083974 490543431 916149753 703814601 375871665 305292956 835075204 199848184 548975872 443167409 363760960 947403010 381066972 668249656 315937539 949820556 468191000 733326982 500813687 138205156 445226514 946491611 583259730 290589749 116465321 508188532 253546648 136393085 448273405 461373784 733429332 472064302 365512105 453300806 536055764 623929288 430465670 708541243 319560014 708685635 637298993 516027287 922442469 911465659 762513941 399597345 211223679 805524107 447369076 796069147 504070329 538621711 947506227 721640745 889907791 149202656 656036861 405076774 568662728 717842275 645621871 333082124 865159892 960224703 970072886 476975451 448654289 926232429 399041258 675378092 573525351 864575235 513438509 909203691 628333070 626735985 815880901 378060633 919450011 110641766 179138997 828600700 232803738 502985613 808889434 398061900 200849192 643481321 711778398 235730757 330793775 417297719 869944208 669688020 766448464 832732777 964704594 994593413 766700042 186609852 333743106 314227902 502652629 933205319 449785111 337198425 564734015 224471410 313909990 878894027 769185172 837633996 813708708 463229472 129103962 970717599 916061217 781091202 680750843 334759024 940024526 396365351 713216503 987637427 807221464 675159868 798353919 269028165 910066467 977876712 246346753 364923783 452316724 288873607 262959074 128220743 944404756 212703335 894877228 560608368 947963548 562606889 277910850 539468270 960151028 513250641 908992658 923955549 499007582 208383408 801792375 750324750 435490598 274185517 545648639 641036672 869432052 351845246 219035564 462164868 675780356 179655702 668435339 817759056 248206916 389146536 515505370 966618503 244191547 275962912 604451771 714184136 249832083 665626368 504892786 310067475 427329768 606608452 936036254 965389248 369942502 565381643 464360132 646618755 784384688 567799289 461471445 794043618 613018631 439993757 804539265 464623141 366819829 110282381 231901214 930349484 461372683 675224716 499906637 885137120 899993276 145190970 520366347 675064553 675389201 862718332 322810467 168217506 714069034 169355814 439679637 765845998 395714933 832382933 388523011 540904368 408377369 260731523 976692164 455446681 264818281 100171112 194550100 865395252 342363923 992862678 679253773 233907895 196549734 864623419 278625269 108893648 114201604 193605315 388100471 407962614 369415757 998360861 465146536 335114651 899303350 352659301 431121835 331333728 665030750 637138258 577365797 618654875 578555067 848870438 919313895 184070599 486272644 886431555 287942883 816392773 915820147 641571113 705907560 546514856 661114625 532302150 144984633 537504763 611701966 933970317 248581277 499455618 319407929 789875743 130013589 342333659 503153777 720188384 352671677 741287424 155899112 137595948 287885275 368356663 603957992 563482728 371445065 992567647 813729995 941551869 823458997 745587026 831415715 823118373 164705181 743153467 205855788 236436964 620865484 889663278 889464607 652992224 986540996 567647553 778138853 474626324 894969647 418614816 901138521 125519575 497830465 871420919 407438216 449365619 523039924 397382133 320719342 574322284 165818020 124241464 158233748 119427826 215169191 729159649 403379149 405972773 827576425 592291619 450771402 802603604 610939255 481194663 122374039 630364466 234081834 856957791 751969418 472537935 528632172 630782789 479390612 902557528 551031107 571508768 221447554 567143848 837148755 809432198 685286546 655284658 171990325 752154974 419934748 660903601 113745817 577101805 956476834 877259685 839662018 808163640 259212651 765850500 679784742 659496103 125163693 976993116 915580134 575324698 750574304 627437310 489569699 176015293 556278907 938355359 590621808 408817766 503191693 411205877 795367066 424715670 232538486 891345938 910715993 204379935 230895963 700720679 840822552 716255900 476462586 914868354 221683304 167149645 603593860 520756016 908022765 243609524 251732768 646731289 530671523 164457536 262809671 540102988 673593699 331624802 715494082 231715473 171244564 839653545 582377133 365131977 354647972 951533329 643017479 567102559 682409302 268586459 891536970 190166182 166844661 363094853 245930900 185323559 956263120 465439309 520131156 798802468 742367939 457934419 423708649 635446010 950729349 897980954 559143970 204222630 576972353 260147148 254834026 722616880 957463992 282638954 193094685 324577337 632934178 645615905 533997263 407836080 612161178 821122716 699166244 680437627 751708622 943195334 547471301 459330080 469715730 299456011 261832162 696301681 817637443 356377030 593709073 875276798 836352557 981533743 377663103 744825528 612700452 421893419 478579281 890351443 899910555 956134762 708691905 748993491 737037903 149134215 145365911 133550264 389371492 951009047 768878628 987930598 861349522 699694886 184074050 451108574 674176396 173121459 569435849 579310241 412561738 133931479 209582403 322534044 710160475 693874648 995057803 783709934 433478918 332366496 613704492 437584755 972040748 681409508 604339148 276272314 537968429 352791668 326764183 761254078 993460328 359924494 893109604 387641491 502145416 896464480 795803238 569617906 476932544 123923624 773249415 548784862 688892307 238108518 305211017 269710756 274729589 733577555 911049400 206968760 721142287 711665930 724762363 443547427 133460388 168485936 674803028 239166427 186468416 415052957 164555829 707845971 309439805 707157466 194729853 483515337 452674920 451002950 924770637 931901753 563263889 702362788 868394617 754737325 753447641 272729428 177472025 251233577 886114562 571305787 870252674 311012312 272884738 625182337 901001932 391112136 781056689 870086833 552067493 598207296 448806014 780798922 800786215 298632136 855903545 648374039 717145195 963865059 561645409 567079562 347732642 863911786 683265086 952653039 882518754 640909617 516526091 548890201 199172346 208977590 783052979 249633513 882933650 901492792 651528979 432276039 587176367 967280143 292916949 847700015 247921426 614687989 824966204 247850472 518266929 574040940 939856582 809939151 620506815 832183855 734705641 584627938 837932778 159220717 505592667 854561678 696784269 820945387 646264121 221329386 577081147 432520066 247289604 958582238 383725421 984693463 478686339 420359363 972939440 653028535 525203902 553442231 540557749 247526592 567066590 422476430 716895068 232267079 152408232 321925959 190739481 874586111 860292015 407006510 904310733 629069502 668709337 757990615 912754006 934233571 645977434 928124291 417470198 382392747 875797313 197835562 130353761 965627444 881572335 596591462 562811924 459097762 494057882 628698094 462904288 363478779 176592182 936271971 339448397 261975275 590750737 498295468 178014299 505313633 567348001 593154971 100640101 185517687 664799722 784482037 977687287 914392115 889590947 949944174 404726039 915586873 945407818 584849609 807996719 217017837 126500495 816201676 145097832 665439731 616286646 470060119 638446899 221934953 980171835 359825400 188992032 475982087 626687731 385353416 806979479 631898371 508154225 582100210 265086817 293768817 305763394 682002705 460387523 484270202 458269357 107107100 866164103 208456059 783830047 484117015 933868664 551784086 331572034 232997465 398981135 531392904 971862945 936930013 431953690 962346961 271381172 793984167 656574959 161058578 407656322 796563464 155844164 248717548 232348574 304894197 745647577 766211918 183070147 401214019 512453484 630567754 489742689 957991735 951367111 662816724 681952936 578047545 612355866 685786840 301272740 790557456 804152558 866573838 559363069 717009821 791533415 791680261 725300802 864970194 410019851 875934273 124152503 680031848 140719423 285855698 852280471 959519065 877314921 460490171 873709912 885934162 865083468 594253831 584391201 151902883 651632765 959872944 598612862 447384898 275655226 899899492 614824826 203384511 334387568 473204749 817377027 451002192 611326470 834233988 506193341 438853208 912657247 247219934 325402460 904096550 857472266 451883818 762397421 777081720 691214972 869612769 496971547 312976653 730660301 531191087 438270249 793357395 596034285 535294898 822874122 544088166 609439832 608135153 944859977 222010017 745839780 503808294 970607902 255839004 791415929 209853435 123149024 339928258 687301214 410849163 177171455 170555222 535044650 185099083 832517346 252527619 109625160 125882005 449009618 127557468 634435069 463395561 827440347 825971678 512332323 267269633 424162809 544584253 767885255 315888039 581825876 835579846 982962546 127595608 638938422 293572940 921098269 494918600 878473299 265637934 437738050 379661654 743686078 681226589 516466111 379205030 288056526 156578646 217505314 844508205 981754874 310674817 868063222 199050058 839512124 453731415 140411827 917830430 180044559 808277439 801712793 132251760 228221949 529171404 238185501 547827355 764125722 363584140 961580266 124240303 212441282 764139836 788641470 706976484 315973110 672134927 169533413 425212083 480416583 909463077 524941450 987579914 277393293 499767540 328976034 465811811 730435161 466343311 187058175 239558507 577888075 364927686 318959035 771975692 365645244 791761715 541535479 216672122 780462970 182739750 314977319 186551474 950582294 590415676 134602526 418120676 409705627 858738076 618975989 505818421 575376483 952941184 351496800 863110686 578052542 603390116 734857603 206864875 535840053 226002078 475448725 124600130 269807265 285980150 512570215 654264527 345196020 805042767 149783065 810681783 853163563 177573141 989157703 502342788 310029374 507422900 375738329 746838102 997748845 555041230 689709525 837238445 695184619 451953263 290556957 441337213 713784082 738925406 388529253 820463057 531380055 235004703 206064726 705609368 261504836 952538878 450264956 290085416 406375242 923748875 816658913 573191121 861366367 191186393 584970364 251551048 230126302 755023726 479165067 772676476 500318486 454026474 606050634 712430827 661584386 470852225 781714131 693301542 573337023 222068686 518792632 836101380 101810622 770566331 126385763 545475756 981963158 794122377 618850772 720403468 413709766 963368961 904508818 746777003 918345302 596009243 562990539 717268939 313656675 668989406 752213368 811276146 978744862 269275087 277609799 763506714 980545613 578981261 164221145 649411731 930139384 855316376 160484303 780147775 552483873 702833672 811206269 274599091 324615786 137709048 924080171 767434197 301539612 791365062 309143596 414832281 144798563 819253011 930021317 967690132 682686522 319982924 808108305 166029503 724428678 218528439 234560723 892514668 712454524 144759077 513321011 200417416 880220664 450777663 391766033 444980991 393498819 272340244 928777154 917192731 877502902 887103819 132688963 772152791 726190167 532637762 758297395 913921559 229391935 625877558 486811480 615742887 987596286 453996140 226841147 682791404 946846172 657146230 219292222 570280390 856019460 874907128 799559357 709052078 987121380 596953011 426245650 836392806 799344213 692472766 890898640 776507786 335726474 692940136 728859349 966503122 248366096 151504999 744264786 722273492 446992990 752531248 675398473 378149813 322212877 310375926 409581395 495303308 215209693 219404866 903924421 590875310 844450100 913218165 390988104 247861582 655870326 712944602 657955067 519141781 387190351 528927238 283860363 270852439 157218138 417774196 960842035 136419957 289907373 481128496 668479189 812747627 383159717 537813124 895903755 385039156 868142672 704424345 490324505 947706607 338685612 281048886 948211582 665772997 438702363 525526736 686865470 378272513 285681338 362530057 834542861 715031965 751717771 871530199 326221935 532057534 607768296 838938221 476939093 415371361 586435827 691220157 822997153 506125172 789604535 457792265 827787006 483994157 571498630 660273000 513566108 720661645 225907544 746709441 814303789 308541435 462339919 862046217 760570197 128332981 555897325 339018036 585574779 328784706 151573118 974536205 474938905 942975791 489252758 722220205 752344643 859447177 476585607 748867309 167551213 677955729 471453103 446553953 809887994 393855657 326015063 918619323 531201013 308018288 715593406 594603077 703792706 546098411 162681471 772186161 908848577 500497309 368272218 488938482 969315596 569379538 230202783 789667311 361111128 961559831 650535962 375869996 681313227 854796993 434546344 433434840 561909659 122639717 553599481 302625830 315183843 870366521 803654650 425786447 392640527 300395087 992244161 674841357 668166786 503753189 826257666 147861563 585766328 546612326 351843281 422510649 599549710 916537061 319030905 999897947 595283004 655606876 151375458 392081948 443159100 806292228 557714215 457954496 782464817 354139334 881860510 589043840 114907053 796827215 288876012 170552683 614547059 728100778 174121517 831997962 700490591 869543507 119378649 260065063 782977598 715237488 989388693 212995537 463269821 924306680 237713291 760182126 668689112 409837288 296210483 856056022 943648627 673303615 930257080 263447289 404892472 131656034 500222109 451745157 911417079 114062381 473562885 323987370 229864050 268297601 964624534 130205868 266439729 361524093 672668496 980044521 227622156 910806810 891654721 666353864 128469760 153423588 127162269 677735262 948139638 507934500 186798471 892540574 456562254 983876234 340235567 896121481 714981216 307259892 983015638 657240777 414384611 555267727 103357956 714263824 168441719 243830981 304966293 647384933 963406238 201343359 275413162 533727864 880070202 771494643 532676161 533418429 270795513 819464654 901374875 232702604 874511491 763584534 683544853 855112028 175978056 319032211 158615742 536197724 202559839 955774066 507857715 925757169 616302518 315135198 870591184 146336925 716858642 211741910 958922738 752290173 197276789 634236690 954712812 584917190 122857210 657847626 873703854 993547150 537523575 492254631 345156689 619559787 913442412 616887832 517805836 466859231 810915314 352081865 227396494 266942982 582741499 175208410 430465938 372362180 352746274 462191357 472679905 116668341 796769303 237282486 728656363 304597786 897723601 306155939 290786327 662172380 392554635 459743640 491913027 560936994 152878576 911448113 195043207 158918407 251543909 259639830 300136605 752778800 642246495 588735095 726179099 901217483 630938504 533643444 951462926 264544004 850343671 113780983 446144552 762374128 977053619 320411771 483656364 643121918 927179740 990275331 294921075 859857844 604005768 238903668 494193332 985375987 403345035 955766921 500968997 219621467 747444762 655703773 601948958 432311091 894510354 665801450 217655261 398557529 627790126 249461058 813977891 594359062 749904925 229377688 948969746 829076178 437792594 503937225 819999983 608032360 570140761 682771893 853870608 142517622 548824221 897068974 459852252 533698376 895312922 492231627 283128580 406012148 667916221 122099974 579683346 166107438 786211808 557452978 258367984 606793151 539122368 551946198 186374545 806540948 493074669 464234122 659041643 633147105 602199277 756994380 179155166 466677965 180500329 367314831 685672737 668053810 366925013 684387063 878088779 945591664 705886677 786109512 773165362 297881895 779249249 813800276 689040461 157905310 558995685 147280837 298456342 870268052 856192464 575690491 210251811 219872331 471451333 649173845 648721812 393983331 572299523 136269874 691417564 110191914 617393419 971310530 309659678 841702516 990389486 964557009 997209424 918981411 973481551 736250511 381447334 310297455 437259612 620641664 352868256 226808488 522941324 404289841 890138159 822610076 899709120 100713687 535876498 109550639 294310852 311290778 334437392 756714531 588781013 626841778 479964456 893310188 748717451 917948827 514719222 944594394 859564539 844449317 477648924 674656502 311025976 210924950 389031974 372608074 803856098 527683416 125093875 897195452 500807017 424309926 724208267 575169722 182962373 443835430 517856078 287849388 518221956 154844135 663698068 832164451 814722913 850697850 679056147 733255021 534270729 973585148 143954112 977315785 947899778 226907636 788481478 749108969 248885844 782056431 606079095 679032845 846706761 991263653 857784957 151218118 805898545 925816752 458302619 842741372 906504646 241713390 306380051 783828843 535825929 367685469 353418251 948276710 196592575 245182509 143571497 972438731 772289762 476524602 206380862 542349144 890113015 414002523 826692384 824611901 877536898 728862459 468022728 263361424 452353820 477224797 423617325 284584334 782483465 848659196 239500981 211045254 473608538 419806014 395220656 441373670 727860929 972683590 564867790 284693510 710046601 112602495 229979502 291342233 239948341 157993390 669376360 573639124 576382272 322980177 550919095 690660461 564122900 344546103 149415825 570874777 989825219 616013569 167488774 633920508 322718766 731273642 465863781 240039641 192735113 585825470 547100130 209794739 601165766 525566091 976219539 152000006 853025143 192438562 469820146 780458560 505015308 867514204 336627624 329924145 306500556 129849928 469700880 684940933 431559553 940385517 579506745 986925791 199689046 151420749 188553541 357690203 587760041 715269907 623783526 730200252 770483173 414624252 294396193 287986876 164764696 840077658 488045716 844577115 408651942 626874993 108036613 783816517 299681230 388396032 710731554 919619169 676280630 317906913 289968598 329159308 744070691 136878574 100275266 174357288 551906157 361932115 522203887 537944347 402180622 987721343 415395754 620350853 474522097 361052727 950137415 112276148 527160642 198542035 488455084 922977233 456558117 277579442 981139462 115115515 974478692 697612296 327330210 604240119 181310642 384089750 494026388 821961435 885189123 643771923 569565974 518383332 148403319 178446229 151098263 495465204 832818238 655527081 921542896 529981673 157939937 775768222 821528632 674687845 494928503 499528858 286230025 700803457 754333637 976483723 255888232 535751963 916300280 231312963 618913121 563243549 983676961 679715990 935336675 213121912 361045983 825315838 435048124 163181505 291018695 821172391 253393839 342193066 602221915 314068235 470272610 798965692 187296697 478279793 768241538 530098869 312171406 620743552 416574789 232943732 841540208 145318164 443510304 929866694 889498942 687718866 110592250 403586841 510238196 176228717 717081243 266617393 184230011 479467545 209054132 352190402 529441422 557260692 954584718 422359508 153126739 788996208 411768427 351110957 891786565 800952718 664787302 126948817 613847069 324054811 308755306 949745297 905615733 125812672 237656277 289682259 483375989 772054097 213651667 349005183 831691648 724860282 989847608 750739327 232885584 575228023 981276588 849531729 813233237 554699457 839580277 975805212 891370781 115780034 678362065 462970060 455236505 862878990 155254339 683747231 214071236 967985359 328700400 704538274 996401508 159695652 578918478 254972001 484303432 201441168 183815359 750020660 416755505 865018254 277485317 668970159 120200106 526463214 726978969 352012891 682407420 450459610 920467252 477910661 587976497 980668972 303278536 336731631 632694561 868936828 132779908 153533735 383405034 946865312 895067338 145793590 976122828 647988255 957584813 746069406 503430552 232357604 338857380 996005087 473628648 216523088 574819754 127210723 434573763 923759225 530484306 585036157 917172220 404042710 669921461 940897454 512351642 555671688 887959378 346144471 275002382 680108367 400146315 546505396 930224336 460306759 381930771 326286261 606751788 563954066 355648755 968734950 695303171 623645416 489228944 245768830 706827879 238770060 683546424 660826293 628035189 428069595 174834455 637763942 345509284 901580514 754090325 311119633 975458067 732584791 130523768 735398310 386094085 958758758 982103791 178929836 551641010 943771608 695689685 136471536 692300158 414671546 121268311 779838890 401117239 487274493 904992086 453995539 186188941 586912246 337862814 207632908 574263867 674230987 225366492 786990646 422387107 923378070 340392164 665781187 749493886 642048164 329944741 277768380 721956346 822176851 499584920 997396616 364096313 603642922 690953102 639637455 627023580 267978782 315836144 765063713 244452756 624187694 425867025 440890067 205704611 912109851 482625207 135392324 987650936 785190172 818923094 160602840 956744058 466664220 851732105 824876616 540854272 144557304 124126825 470289202 873539696 844139311 206464828 219521661 365550113 678338429 717600180 661089677 715205924 850100611 969033935 606488281 852772510 289812963 291734311 287690725 767551781 166937205 741619892 401180116 875463157 684382582 251735402 838942589 997635896 824680011 230908358 992099740 232698971 980917475 165088559 647830998 723456098 163084861 849780552 296980410 181521805 379993950 706020778 697314771 575172172 274871558 887919032 546394715 158637587 926400234 565502122 369087392 895984563 739758001 471659495 402941093 575931493 701473275 827546021 233814643 740738564 728456957 461455902 463752412 795896577 338818729 645395333 635510964 106004888 506885717 530551701 868278521 328105261 807151185 346749480 224192816 780029335 420882736 118590916 166021027 541785852 161861148 248061387 127777202 480750317 857377760 758018595 502802728 368152553 548303962 406333270 209154884 225287356 429835098 235982399 371133222 795160524 822694668 458171707 600753162 168553658 264268342 334529814 933330323 105681807 972822914 329962900 445696125 200837941 278081097 345561828 534718768 189914230 960756901 261617652 429391178 950549530 438446838 237884903 652641299 882635944 190508077 398554281 242284358 384771025 769131045 788978652 436741441 927534588 190827440 922808027 718841695 620296226 293661035 249204538 223705340 976207579 403285206 137179968 107860784 653111896 953632676 197614546 281295263 211386657 919208312 667023885 825781944 798321850 404653792 338434228 290330412 613583394 254856617 844137576 286041950 538112000 708932009 386864754 746934033 304845242 967845857 295371887 580090483 297939986 858183162 213580751 222196348 232211841 974251832 395408469 769617066 550504275 618172455 866577616 495876035 306907511 648457603 831565324 504945080 209339538 175537743 127822894 321016346 508856384 774507115 288075215 342005198 147671399 673146987 794549601 651522624 264269090 137639076 275286978 220893709 510534245 284470431 411124270 183043582 128717908 451507518 997938517 724548195 259471244 147622796 292226566 435372936 442971461 610112210 700549010 744590816 375602361 968890093 355164057 175859417 931102461 321961902 490437359 569918187 552691773 879221403 117804979 788381617 621414697 101597997 178137903 178091341 867174097 406626481 848632156 630546234 769994617 232940796 150801358 771271867 410219015 153242112 830283163 455991711 894543211 959749656 590701072 506256705 862712804 850577278 282968678 962287350 928695090 312431407 755090649 319126178 938946919 639958480 660862735 389180932 104052715 791310369 513732163 579785331 994763843 221916795 411571774 306451053 223347257 579084416 642687381 580188619 443303186 600934782 488092600 499672362 792518074 103916209 822597662 713316622 925473525 371795473 321263412 831976331 165937489 110803143 291619237 186751194 782222607 348438654 787816619 889344895 527329405 753113421 167391004 435006159 467999070 476184528 212305960 484864530 781808576 128360619 779061300 611912243 103953054 505621964 511650529 105640152 910593033 961484926 658253539 535377419 957286765 214586866 225528847 417208815 903619012 932349984 707988495 771635165 832338297 191907211 514722188 566735736 376343941 552679789 380666427 442282190 608102300 152118352 157875181 259875736 637595971 693595163 471484768 818144054 749036028 736655952 515798640 162819566 348781996 812966560 127694580 993030864 599893359 473662504 445189291 749253724 602852869 845392674 692668929 934893200 366343875 993256056 839976676 880983016 557678292 500280698 972266959 780131939 205117333 503515469 883850806 318682308 955316807 500846739 411965808 912431238 255376992 252425221 473629378 222488387 919084303 909916501 352650799 283759146 769986293 491126920 277359697 371040604 586327408 211543540 160758320 299877341 505814103 818299250 391850746 321927765 669630921 433661666 500545185 327977031 587551712 599358149 523319822 719497270 952736514 437073809 761932016 755494102 454640787 995353961 663681015 932462170 626721787 819562387 635145368 244801128 459987361 528961796 677728800 707490939 226973649 725598819 117876180 670566816 779761383 723490049 522015386 964454294 357199978 290179456 602553515 519504158 995823876 852218306 743016304 120483709 979842333 993270504 442127008 909783231 393979512 365665733 445823621 221131462 534850722 724971337 875706045 538347291 813884738 297515319 353841488 109591108 361544500 421656467 630346356 614854265 794258136 242239878 641905172 825420370 750119899 961759719 843811265 930627264 500375978 222099798 847983983 887508449 369343103 271046056 439336782 442559889 234860314 736863237 667743584 127339808 275268903 171157470 879430004 672564923 340452748 291232363 226381080 501838356 949435446 640926553 747582630 934465636 419786878 841597720 138654195 534036039 314391281 542696124 188005562 667252729 439820028 571531076 749106521 816464622 767684114 408284900 295559930 509546363 963313548 419077146 735769435 971977861 380176822 492036701 403288444 907328169 604913792 320973989 699943178 417074055 586291187 517690798 307195521 533874532 536425295 193775739 212661882 532186824 546547631 505841911 787746345 935865255 963488013 900429461 916240437 117064360 597989993 736878910 698056480 257280126 947673167 510223731 399701004 858867692 144037566 615823693 772983075 633778986 236399170 708660234 729001254 673677028 751558362 288954028 946486737 470916988 300239749 310364780 280708986 844785115 601878422 695775455 405142728 149943971 337802390 412838593 730198366 951362566 405728793 100322931 613839918 643894504 967852653 380210761 170830989 544777518 782879214 219904711 204360947 753691095 478523621 325824884 973931775 698851508 866283496 307568114 515720030 493508714 291224875 477483334 436031928 967749753 742952581 599609702 176945563 608612889 422153825 351388458 376969375 828063898 422103767 205965423 878246133 924473356 335855603 226024772 662305457 173633609 483334805 402108691 419822043 369123787 997949206 267301694 681351687 293754183 853485653 699178648 533430136 422357488 430473069 705817395 390597390 901504446 312831146 350572560 766844598 252281033 952386322 403945096 186981783 304991865 582176236 911958843 646801759 362492553 599062378 188887738 972221222 610480328 776316629 513869859 860018097 957102562 395900737 133970479 636213895 894011970 711025084 179932697 700419861 922282614 802501645 622376414 233175807 535826005 980514267 838351772 247388030 954911116 247696937 955546436 183103882 776362259 225864002 183439930 438426680 133825597 403380048 879874312 545264875 122987269 445345625 323012768 819764272 580229499 727144485 773492561 567757181 541084325 188653391 215049508 276025576 272107383 929406135 319385458 683305393 192305107 719159142 513501025 614196705 360631904 944896901 800434118 393218686 631160415 965665076 644977365 964516512 890091576 622141480 877663906 855837600 347983236 770755664 624783248 828993344 198970539 864208370 986319048 425662162 984944050 188046573 705084815 414622827 243666269 706007386 750669607 398966486 754139512 322433829 198134227 167157433 405476914 929371798 894016760 855208464 263998801 946191854 723133827 177904046 551015972 143692587 377420113 282137300 237285523 567492960 677890496 922416449 782615257 248934607 410240758 506858278 227997862 535548716 463529311 242618060 865561605 469698384 398398753 293315765 575644050 184314579 441484431 254107209 801668840 488647798 812995303 925223015 656002806 171184288 776504623 137996427 983325642 952519870 382030178 606282897 376561831 564998203 443456086 305029731 518110820 899339257 818609275 489516721 716876061 273342172 198012824 236041630 730088845 336793900 789253439 595863661 175989160 456948497 866652795 865545265 542680724 655794946 207254214 998964889 950744128 705683424 436700353 620577988 539983388 187843965 823343703 298112480 290448992 835666795 548974129 231014785 193103706 123181386 126220263 785370366 512342369 542606076 417749636 594884497 974369562 444459266 387857723 300607377 258426893 636963485 848676021 279896671 508853787 353753693 579014607 252154761 878564214 407351033 923215363 903527148 697618712 552288416 903489289 375772165 362240606 217747161 130713589 409579036 967167021 686040852 826316293 717898013 340373028 230872043 260862756 711352050 499342970 573064955 137382325 796186326 364494011 220675876 736461181 605142801 807338158 802960846 373507206 849373552 658120093 654156100 643422497 862624197 174805830 201018875 979681733 968934518 247868624 142321090 687263632 233457031 289344932 840811314 859240345 850683330 824083175 116123571 848747643 638342375 177641864 777323704 647218554 877960467 907133561 664034280 623819592 313570610 168792974 130097732 311207076 818653694 417154992 991618309 709719744 708044173 167216231 534964347 932603569 673251634 133574464 759233903 912596757 788680464 710090560 569411910 518416658 992664000 157691279 337735895 879270583 915913881 895791457 172590414 642821142 989433712 274975147 901351069 747440653 494294246 625687430 639284634 165686656 711097235 816175863 906614631 620497229 552722907 748420882 984097960 171093181 403059261 458852948 612921979 103870872 712449992 266236468 476979258 643064715 562922184 439171753 805274363 122219805 543216879 931539666 873687004 899125447 873114038 187111876 215383698 233488412 553501605 340022846 533926230 503260876 430100669 898694013 918437293 173453697 411520596 660851471 920861095 959716309 374923061 682986273 679234072 620481699 597146323 545260493 849502980 770677018 516513393 341941205 858642643 251662465 263873823 285918478 548727862 487735257 329690044 406719803 851759720 171138098 341363501 120038659 631819996 530195045 216208635 421836704 716922507 396962663 571588701 522461055 383356434 655274416 130872704 206086588 414094437 752329408 321835925 498174300 124755511 731257605 192956266 887844771 973749754 225471904 648003737 115252420 155567022 739710523 974749499 673703195 993741410 885538787 732975114 854447102 607858717 651377739 775513028 508167175 289186294 947465038 109386164 331580867 691050283 125890171 464964333 124361995 974023464 803308334 387680928 594450024 379774489 263046341 673460256 330010851 430822323 118510362 667886427 989962865 640990054 600165557 744874285 668713126 140596095 957093193 686564476 136549580 264947574 230249135 356020669 534832006 437173491 691988084 130401158 379816226 647108544 696378688 480263709 273667642 167178489 560299843 996740062 527221092 651016577 522204960 773606716 645242050 225830563 379647720 609080111 208723850 428314044 812013318 907817394 945066499 596256349 564950334 417921315 633772379 107351806 957988202 957822945 754736000 428454046 923013868 569866625 307679327 678060026 589841507 291348198 547541910 508753987 109235991 904754868 669311931 520260453 231115285 552904525 752170929 962484176 915720186 377107601 161196033 642568759 476322561 840302976 427167887 107456083 522209167 143058523 421399558 434499144 539430306 793916454 813607611 759515296 203391559 961952039 297703719 333854228 945496619 307279193 909735530 897535331 421568196 842689497 509083938 218137999 937666134 686514615 473005797 573374339 927969313 219365580 955279788 568626609 363226513 366121384 833188859 197757178 730202898 292176430 323114969 685234283 250188136 567898202 147911637 184049745 940495322 759506714 846754611 876748672 271163589 193016699 509592744 856649744 847822373 875275855 435558367 987151929 735256642 502346820 272643031 922384437 489864914 517538391 465199915 658907998 208711540 468055135 913823544 967979440 696703139 965942506 781865470 845140061 979176285 250610615 400013290 184034571 461781761 104354636 833154076 788677578 462196645 825227362 307300871 664753623 764909011 901596837 272261456 749152285 506635634 763675552 516483224 648717392 222702681 682342910 628113604 249348262 984438429 221290634 784961323 965206282 452220740 458695319 589611287 810296016 713650237 178793288 135019167 691784134 879608630 547486665 907642298 529593553 871068779 749115236 180408599 804471232 580192614 114457205 465900119 596272138 558554197 229022502 641363767 523186293 308207165 918024284 999506041 305785297 173574495 440600530 158377823 970017915 288690179 432576888 680697755 246029720 808097054 205361896 265280500 897084163 590054459 500327591 456573135 651770334 761982682 746950260 840911499 344080654 286866345 370321678 504660053 923901354 105561934 868521387 736260358 543017712 459168747 634576611 802602632 967844554 239888634 313450672 858483759 551501970 330880281 209714666 521172456 210386243 177760384 927906797 506015902 795233541 949426698 222731236 812279965 994575988 863732712 809270916 387890417 436628975 250645150 987844406 729389951 480911723 325992935 224626369 891087897 527677759 659587849 487003069 801140931 810873688 982626865 370345151 272797359 765377832 965362594 760348939 465824927 847858524 586558921 371169045 594333014 169741182 795867210 189417700 451949098 751103597 266201513 347227178 768788303 202820797 261632218 470134998 414292966 598800585 611636135 201312405 320839631 877620719 635239844 601154834 707695467 183969118 653279439 543545696 448911776 949717822 880900127 269402383 393247077 683664164 657288927 824401857 742573061 204313128 128614922 807815311 900575235 683524190 532134585 849788119 346420493 647609229 274093706 609046952 237400362 548850026 699283976 220477204 170573586 622443044 319054867 307132766 827832812 709894161 954647709 356444483 697672285 994355176 720301079 780416151 850806624 832645986 596296177 920393301 545687686 268680771 985043183 885224103 743829940 462553029 297145086 900014499 460977774 583695469 459904597 360247929 983771490 747210019 231670742 991836454 169021721 200588549 960841332 898077099 597053268 131691098 825037293 162080639 787865493 501725671 373135516 491212615 432346857 421843720 663067417 924778868 464430361 611183352 899342679 406745498 205027827 778496064 866362847 701998056 342403104 410612643 371153908 948234425 716693679 341627139 642524281 851849971 215723714 212086224 880222639 312416316 562552582 608669669 866418127 559300608 174909491 972576290 908561332 988492268 775111194 541657081 487491914 697588359 805191996 216678126 693553855 482719218 101011222 249793734 405476820 869216045 595280023 132743791 866902473 107276149 856544394 485406234 580651364 229687292 171865937 286710105 280667168 428334690 543048981 622308586 596043698 140514350 283199451 254363740 155320479 653212481 264984160 945532102 106878974 133711262 325324030 697221501 404052732 918488905 439696072 608454992 120384610 482115663 177460316 377187471 881547103 315147044 260055689 131549523 667071343 540133206 660235172 919618115 683397219 115376016 942741991 394375703 483950280 392408184 930491303 117346594 545356584 552168224 191153425 980544484 170875890 224892532 674192274 106963010 907884339 929265096 368169385 189196499 383535942 321036736 715220738 757895847 190360133 580566611 366225601 544324925 333473407 855312288 752504773 905386042 876720023 878512006 835100461 125780303 595613816 699509665 513001844 604463715 636827363 880977464 420705642 951507574 507102316 186202907 562445313 245923732 810466763 342841614 813251328 959067961 457674009 381156792 874103447 948972150 896083061 935843524 234594697 684442799 911924176 478566664 333931992 776024059 597985575 643118247 671439268 223556129 306563798 335184419 915420529 570994869 854690380 753284199 892447085 657314653 134232271 174220213 218992202 573410366 628110108 341622939 856757055 837613302 408660213 734506933 579132868 420092418 682821283 668131438 632522202 292805700 303870606 183706098 663579244 834184981 870097718 673430164 312002573 632402764 612565710 179949746 950266309 122095541 229539820 951154257 138041051 830232769 950137040 251904617 249379729 429646287 437360228 736247411 440004121 155589183 241281774 230921849 165874700 710628676 635588501 358569544 294042276 813192286 734269224 996196666 263349238 910208551 872680324 387365828 613583967 607411935 450370682 891514889 785375223 752008668 254492937 685185139 121150310 873824417 648420486 154828821 238513372 785140822 373818373 575040663 300669379 757650381 160824169 505798957 349876793 446841202 651562110 197237690 532752580 283794282 607769098 905246437 913884108 139897841 766145268 419971521 898216368 894356595 364881746 327024281 562300689 226965877 975977928 702262463 812454406 346432686 156162812 598692678 911789089 152703775 515987650 528906803 400980031 531598264 887223383 413245525 787067346 579525563 895682287 836291992 280090823 194026295 210889967 317175583 839770388 815328278 728732725 922697533 878398814 622674980 241548298 304135466 963336526 635290367 588603852 620156865 387704700 490938883 235008347 215706524 138540499 174798187 410780731 699202456 820002379 635503496 987168323 360203906 437337339 408238434 582437361 239799516 340862679 371379467 618604363 579845678 953809000 460345841 187989529 455936902 371529630 500453550 750270169 789136451 976835633 864816551 119713249 697197475 362031124 849646482 520810660 825252823 332329283 229319591 537262925 913895916 866662694 843255199 237100262 753494233 874162764 416190127 259004127 832190591 170300108 442914590 468974501 859291980 396953297 663900285 795416122 299569196 337476832 873661992 632048818 935237762 502216503 208424781 232039283 364967458 386894153 134749316 295627162 250964386 480004803 759964954 417787985 163359258 791063738 381344796 884408440 129732668 278455363 207290339 354836119 778738622 695463380 299984083 149254177 937409798 661999315 404390530 797004018 560946779 439230889 514202086 161120879 881858287 112904214 934150103 464067042 933655342 585871454 713745509 721982116 705281586 931480179 600662872 715490240 414702093 728150775 584508038 413838190 678313625 104747210 806914784 302033730 471995887 546932951 504337875 197590561 214952880 522255838 905883226 197091101 217635688 317605442 683771151 406418378 156862640 364889746 994923956 499739910 785215121 818659091 806271763 591975884 847617969 659437066 984985955 398502011 660760448 308202364 903415653 312239359 428688657 617303978 657863550 435708461 987836045 903895140 983069068 415492184 348378386 564197007 854670922 741342198 840150635 180983258 753686563 266914714 656918735 507343040 439393491 848733150 438383859 179351023 511779814 542143336 106147278 185156412 220558704 183189012 288687251 814868268 698720307 995062161 882687867 517150907 557182417 998806035 696327230 682019522 136998008 381597013 460156167 190896782 351660481 506494145 612187356 686252216 316421254 516883690 152013330 560904000 642619835 189794163 292240939 576264672 916785543 265809609 500668057 380485760 212088123 360384287 757657570 653020891 191763447 111771525 584322989 525481307 302897192 236334859 679791092 357211209 324449473 464866667 458237423 148545771 427728693 669440797 515374141 937790948 841904380 753965935 496454753 405410204 205629425 538672464 324176432 304607972 412507434 871663504 183041595 102909691 533017081 101770630 253464027 475771211 656244579 568834782 811021400 275004672 183162963 877680626 183211324 179854351 124270296 178266758 516893970 763912099 338750038 807016078 985558870 383575014 345619173 671969157 596535474 547019422 507822507 779016842 714045745 217065259 638968673 403146805 829411395 288277437 678024940 793148090 283697854 858555484 546142243 839442477 782587804 812759785 785768628 983916380 216368853 630761514 538158000 326885297 287601373 690262837 793772234 580204546 110380471 358730689 115810422 752749050 168453210 982253680 460027530 825998857 934450258 265442339 248656218 638868735 353099882 766845557 877697109 708242444 510212625 933462073 385005611 524479528 255569592 256583268 521412037 986724092 703524132 628006792 750225110 377913720 286911776 444098637 248464610 167673512 120757494 582744201 131981475 783577691 938547450 755782595 329368413 251451061 404262498 520476391 576711655 103831221 714303694 193612192 720801981 718665897 167988943 775761260 319487901 657185914 380589399 269583170 458816960 965551587 372732395 823962580 844874795 951305155 348424426 539807187 963140512 643748335 976492784 693398995 191752315 524587135 474056152 295473745 125269718 458381637 383213257 582835901 425070503 125751526 489175904 376426015 677124548 495688245 981674337 689008053 598123663 784286090 161132088 618985201 860728673 755512137 150094098 620341371 386845426 180515751 692805862 724020165 108648765 531725969 983751324 994760949 342875300 862192499 815549382 592208201 253040264 165302566 132827151 940537203 218658011 435673710 633024371 246133255 544081159 955077129 614294789 337692096 647370711 860933653 501914967 638961508 939610650 450153825 268097941 649264048 263523525 417158016 119295878 484753740 641395573 227593535 813937649 320862998 223290006 208732657 178592821 344646906 302533319 769575783 269822852 510212725 536923189 774789906 220677615 881277963 834773063 451458808 190828193 619520547 967486385 102470243 996767956 637902643 211492790 365544656 376870794 854597249 309556460 932730039 309853604 363257017 935602083 212254477 301070289 815986950 135401485 735313605 810241877 594478071 392867367 759659401 783333663 784013226 890891666 931106465 630639728 311576632 707502188 323607305 800696293 524057256 908120592 492467480 324299027 981826061 642328935 558489453 422728729 895530177 267816340 287690464 806291576 220136351 578906003 870940652 331565993 538582339 264801718 697438418 165092763 328921030 366468403 954393392 567351188 490280638 605852533 487253132 617653349 298427156 471201006 956231246 667934560 322481452 804902633 289917712 843462116 101997487 230938272 123665225 854366812 263168359 331389025 836641045 228793708 375121845 877077953 360171536 713696106 279531723 816142933 458134596 195902498 875263071 454747257 585398963 411956642 989297489 610477479 530882588 107646224 136804060 756135201 810092817 147825704 423849237 815875635 751647855 350163443 763268730 636335082 130389504 364180317 570536856 835936828 837313876 200344598 383983323 713945216 936029188 488327363 545589303 330755993 503169211 775383261 935183567 379929121 359249584 526901656 613380025 800479855 586932602 774600664 543931512 711169469 514062916 880392034 502082087 570526483 221657491 589828912 955398356 466151754 505760663 698760996 313365330 385486335 674781713 961317854 647374339 173583904 300160882 957667703 124465119 386469031 854837064 754248449 422683818 571030522 569340383 258352535 873141936 276957832 645878214 309887661 490271740 658923170 877486964 168477516 116550488 260476981 644669855 943857283 153979108 655498170 826159297 402496484 283353445 672232846 767313868 499386992 975305047 776182240 723847093 230132949 959400821 307815439 831743977 632231059 572045093 342104698 775435491 128394912 380111670 234113950 187453000 716235329 200541655 209336814 745664412 120725837 526718833 477622640 579807749 464319253 287420773 273936164 522043904 925788376 417687954 215148122 808815992 222228088 459931524 557216522 748637694 849818868 378575998 981776360 887830553 735534346 326534441 445448386 107472875 149499815 596012352 971985834 150742319 251450580 977013539 640063317 305701942 473100105 611526497 532365065 841308915 251071451 974193948 786962593 522533878 147695075 622822411 260380228 937079330 739381780 268323541 607997723 275917208 239089647 525115816 404043356 191460578 986647641 275832749 586977516 409810660 819360686 184095439 633012929 851768794 581677004 893498099 624306884 661020756 191527174 983583843 127428600 914579648 931023667 171960262 810655854 437419319 160089391 795277906 933856345 621586948 925616722 483101400 842404357 628005576 565279770 217896155 190077603 935827924 789584239 692412629 136095840 289223274 688540540 127398669 250821903 775994590 945319443 339224886 230618866 533656954 132199127 654019224 143895613 134794144 474034600 615265044 152202393 339251183 174100197 994646795 501348871 568194496 486168948 518842723 489380174 776083712 630855069 651704384 226055859 878132675 868675240 144152320 822841158 436262418 950625678 957948031 651115539 948234837 394612429 368634042 571316376 884135264 490337702 139641431 163870322 960408256 295064455 543289517 125384627 954690281 802269171 326409958 781542809 497220425 280193056 634801236 406163972 746283881 877820728 517710785 236913469 644506426 418129584 666768267 710524130 209684731 997429745 340989305 327622517 699646958 673539825 599513442 506485124 757960738 528298667 831616851 912699605 147452363 675829633 303839034 407031299 375690607 130489730 514591134 961910557 554362013 398345170 606745408 194470929 412314235 163510449 409487753 943426123 901762362 133140157 109379792 750611984 384600320 650334328 842872321 222029754 230233701 611354361 816670339 876950509 539995200 642610351 169780626 213833929 392023150 987158208 490811290 609866041 748470658 482787459 200021700 942801259 559692401 274644192 546666169 996246608 715921079 865720687 727180537 189641772 384829057 690366311 902258362 485635638 589982032 364240714 339719798 564631167 666116453 781846344 828182818 126831895 789680977 262186541 998072427 573310685 227461834 854037650 304370077 321481930 796763031 805979477 550978479 794026170 975560430 732655951 492413325 754416435 139355139 234915659 949777380 805344510 352199880 776761779 715212195 518822135 964124882 606582544 878000710 224889481 620136909 114339004 287722380 859399059 268352435 597135540 798935339 829510338 125758541 646948322 665151314 781496523 977036678 263171222 130149212 500051072 291642358 250857512 223949959 724186720 600975066 299334155 853275315 494704715 658311767 615423631 361013382 157236003 286019548 123770421 533498775 471013275 687912158 146721935 824816128 477102273 118174702 331590950 406489116 341569412 510654385 455496716 522485693 689504429 956003231 357574428 787695059 511997816 642442563 451039230 910726331 629487663 933195299 933495227 334103125 529011237 422612851 288938592 159541439 971373699 480412659 447646304 234755501 969742805 411091380 829512374 918698984 939706946 692209722 734914086 135170129 702705124 161700874 412600230 200801814 145002537 401140284 504249047 391462579 958710851 836159727 228789488 209704791 815361767 230417502 334588640 389303659 960135691 699186727 866057722 950549607 965092538 723191014 124698293 416557082 987014444 900952154 940905162 168909618 622176348 670961615 438600909 787046177 499912009 671176468 741055504 745455481 600709032 520967904 770643373 148385758 781659780 665952274 183782444 422449710 140084697 593229378 572374268 722480973 288827327 186109177 704086170 698518963 249477534 768950395 699729176 994951706 393604946 820684924 983800470 219918644 126686146 666453473 768441002 254467169 856756574 452452453 931226257 648553101 823822006 397036134 602592694 454379933 134837415 126837786 272349830 877228536 470193051 631767952 420682420 925185216 542499479 812969705 424781876 986396961 215901683 360586764 137283981 235485176 166145284 713196295 429570107 787910060 199796575 691100653 958654313 914659501 630303737 989499116 101884023 542076213 629933870 285464369 646208488 456077538 118836606 911411418 536189297 781894733 233446608 151005780 831274224 416985661 690442821 643194702 935773101 466194808 883149862 257313972 370394337 109567295 352431179 281115306 425976390 934256634 906860320 106355716 882049276 517583377 531026131 692923674 244246424 645836575 810164087 377223748 415762749 908886096 215251016 586833037 992166040 940015254 572768708 889792091 930839226 655849285 923191212 482902377 600975518 175234525 718528010 580686476 242208921 623970336 687983963 998296038 523839477 428356038 143435743 695511365 176225828 735205379 465850642 649925343 403298138 648534422 857385836 267479426 521812457 800740486 571151102 904917539 867633234 496442570 253465234 888663177 907675707 577110735 571565106 626663570 597310763 972374433 204014800 954960650 526819758 493872932 112137082 349490157 275240217 301701630 323967177 851404492 499722800 517158680 472816442 622873134 438928142 691768241 987877145 884097328 636329390 692685124 377676201 855438345 812265854 577502625 745083045 653320853 245918099 118599627 855015411 472492449 611489638 465524177 954993133 760151070 207701022 516549880 536126611 447331132 348220708 626642432 833908710 846940929 580629955 517983427 682296138 668715261 443682212 272847878 224908208 165150473 150294604 853894205 412247994 229720774 722589464 684139433 187164732 562776577 360266191 485123469 538749877 128548218 572293341 243563755 498844908 302238675 155519145 844765421 555669570 641361625 873834338 926639440 804132071 746859969 582074563 458169061 633102357 283300213 808107143 215562923 914256742 744786378 292708153 168926279 774900068 103415563 109622720 482978503 420707909 332381008 652244740 284486092 240513231 245502136 891547984 934126843 369245209 366576450 430632103 471731013 497022244 727607318 833305107 943757623 600934409 387498811 288063256 317268801 206167671 354812563 603723176 907920005 525925280 624874949 654057667 132787607 447213522 269447095 131093896 675034128 704695945 225897779 822146818 737713842 652412546 380599861 142149096 135547253 125844472 233840856 538767829 643657228 514011484 542955074 202699992 948196002 902447027 112617559 918569457 410865820 129383210 888788930 563017459 324063984 591411387 956668899 919699962 390383829 213476347 949880104 847914901 786323916 214606483 953035776 691921197 577467377 188130595 509548242 751740911 605187924 767967270 524951492 525359448 945060915 309278880 749491152 219231203 279790380 524697845 885737596 707588000 622846332 802792556 411154642 928290576 608512185 836823769 188391159 478957731 987015180 366914261 195917127 119167993 437024974 370586987 707035853 880684172 604764788 129465873 206025188 629964888 226688384 469742007 545639384 376268160 710967697 149541543 311026735 150365850 997078859 810740581 276742569 727184921 278436124 392162376 270731181 605760234 471332661 992611247 412769412 781009676 962461722 564975983 864464207 819798031 989825916 729351156 646378764 148563509 827350292 617360431 696205812 307505440 994840436 612827471 817094243 127565999 379645206 927170005 660059823 311979814 886230626 433931348 176871790 723289555 380026453 371652135 890743200 927926522 691783019 960427941 605006970 319926710 352254532 376651459 415473304 785244662 170235859 738720575 860289925 465176712 879564377 747287082 237922897 523004730 151813637 802991089 188335653 249958031 268750889 651011684 603294451 143702684 158958663 964549320 984218150 902514509 154974974 793324251 596140107 249516661 861160753 599178595 895031956 429720703 412406092 434625795 298922818 879489096 169991457 860166273 932118382 489951105 112663595 608326134 886782991 221020992 887478511 286435298 159449942 316778917 847469841 348257895 163089643 821689520 580853143 560630229 861360871 523379619 255376954 100720614 242594570 810299160 262381585 642282906 429528670 883375742 711719114 874111452 165733607 386604692 440201499 120595856 999935790 554175711 659258862 406093824 806725678 454867191 831917044 214147354 771175501 203862641 508356137 809945506 288737575 552140396 863435692 724172212 918485741 795575027 321413217 590685016 162851869 341443374 743474951 278338739 253149113 610682725 557342654 973734195 192777608 514858416 194404539 759709214 426849450 636638024 954657219 982037612 641998104 548891487 763056789 317515148 448996726 931926638 335640521 738944042 328180831 423984434 191766554 870259081 869914802 342468780 342716417 207911895 681356501 476382564 284342403 567183903 263133963 496167574 875812973 532348781 116579719 849102822 481932068 420190582 252638937 266255607 793136069 269315384 251675241 891599870 146853434 697813119 507101236 320420900 260394216 130336907 782683591 717946368 105607720 544861230 598575643 884069224 960123925 269538959 708273598 361103096 346668940 674816093 539748120 549630589 368456494 251810589 919644137 523478699 150255578 946217066 757933358 469373356 977203017 164795522 999110220 287521819 551958462 756927958 813053535 142255728 572229631 707386851 218882618 540202805 999112027 124604058 182684239 602287119 757966586 496548905 363454721 127777682 763090446 912340010 341612244 478085388 931212435 591659618 729653516 710615414 144339002 760032475 912295170 913903941 289793942 556641214 602755275 816583871 191381615 589122715 604472671 858999895 143442193 910458076 414119258 672159356 173369419 390000726 957936054 278154765 487254492 676345521 964224007 791857821 404203987 259242508 682258402 267189413 712313957 251165887 733237039 637771193 236411845 383762656 545431004 194985386 555876451 621501492 205830645 282467090 465874912 556752110 763045091 264439906 747744619 703134854 601441200 869980998 751920417 478302179 587205059 839235477 381549890 864685389 667573434 245488468 602237984 287269014 475860755 657389851 320144023 447597589 234181674 510536195 356343595 143530562 465805463 547722706 922058347 668817691 493019627 656909953 167988465 618834988 286257315 795340872 962277056 222361864 697181319 813642971 153882103 827259890 349422915 424383926 451059767 782756710 442823418 318922628 136990783 602626948 769976726 622699109 766544657 976611125 748549311 204535488 691946841 369516723 591895044 566971366 387545928 189067812 906634408 512141961 620449222 674195692 528036563 731568104 539046127 795453954 533416848 716875964 383472316 304014897 418994005 571067895 779580486 384985115 618501384 787554247 194103050 302059249 553671035 813091679 798733268 564153154 548516123 441836889 588329707 465571591 989452874 693291370 834528451 352429195 968415889 615585671 111560727 418376045 404609325 822018179 537203387 913820626 718221648 606063860 831053703 884062076 372150421 148352975 930933978 282900054 849520758 712753075 801295996 993015606 704251938 735180975 628240025 307446037 636255801 626845253 521510895 349609743 191871492 149452861 486677646 839170241 601835292 405306500 553363302 761917948 995229716 592428271 182418090 396572222 345616858 458905272 908401184 820051441 448514357 198481047 868420895 101251168 293951017 356208470 821146492 628669923 756613486 764070536 400807663 440086644 715597488 175038248 229492904 114736197 773125441 394193103 213166075 901460107 658200460 626977272 514755611 105926296 974780989 780646399 293396713 799445955 443003237 660802773 836926066 894862643 720223285 326417333 807000075 994186944 125141664 748781803 176533651 480518985 350321160 980216393 449389324 228463652 545428775 355095917 701800922 681607393 677850057 126148150 822423056 401969114 916072112 371721375 405167782 244427732 514853278 295216736 449741743 816395556 287347076 476098368 884146070 322503887 167864241 216714224 795511884 698616569 357716298 325330499 277063516 444306742 475369989 914927838 924512935 405834383 691572204 349357229 355501014 624256483 518245051 357014424 316175318 813939264 668588371 175847504 826710752 587982454 383870677 719627880 327012093 572316115 543273358 847102078 934056798 923694945 111615522 572182868 222737575 622847365 224817020 760609677 829444940 400179861 121171532 166372717 220114650 606725574 682843283 675846233 184449927 831416669 499569489 379425702 568831041 802146650 446941498 866103205 493904059 652945686 879091466 205024056 611123458 252452303 603312145 559468974 861585242 877918881 579770579 263330927 819027233 751198945 650595449 319221744 230963503 407820371 941716604 496231026 654679212 518109192 309146590 124291307 671744791 684297600 381744344 790890673 368378610 239971464 569718942 460135847 556732015 417930776 668997703 832567705 743025251 537385731 733778964 654845991 166906563 421513586 429464899 248105889 737921820 678284414 271271604 345021101 757348885 555333235 767332445 110022337 604483783 846277650 187948607 560675502 435043273 272919097 157175415 297724609 908912553 428720726 481505632 914123865 462634014 932098431 415257477 744555619 114172679 624755435 178867020 911374523 666996577 388455535 480697166 323611020 925584023 547373605 740198856 170353179 667139918 304356679 418692633 328945254 470743244 559533593 816630544 945879462 810817890 257586873 369716533 836232410 832734853 933349213 720776473 319308073 238850134 323947741 391475478 491234508 964706754 747523092 254299134 503156136 622914971 163084874 804482211 418307443 306349940 964570869 628343083 371333246 860458773 997485541 862765571 284953571 160149268 556689137 189737161 833996512 917806141 581019272 723514448 334477238 875585658 412197010 975597611 163994808 272264104 830938826 201602435 754606247 998608301 202250742 626982642 446728764 665483689 719786113 896407608 558101994 541268782 690958711 402981517 677911164 450802078 309240030 110900535 518208157 889622248 879011013 369182236 137095681 966877252 604587385 867469311 397309390 134257542 352737881 575157947 285519098 380104087 275333079 513057585 285904243 154436230 100416266 288081606 624854567 629980541 366750862 736868561 884161723 640020662 449087856 579811043 120187854 446323622 234461312 974426775 911212228 822659063 567129865 372027362 884755016 461712125 293698854 845543793 348829826 642947677 761781376 320279432 109739284 844419209 806536257 993789046 286759339 914246298 144263676 755180242 223280110 601122691 637986467 570482941 828241449 279544028 149623609 553121818 100496574 735997370 515219784 239854201 967334953 341511076 471128665 896496103 493929372 188467191 475371387 244792044 635648507 864833080 951997175 826101389 915820128 265780862 906131403 431778056 366080782 513487961 203354191 712404348 273130534 876476629 184373971 236057852 251454823 865554311 676879357 859550386 747883436 613063186 718419014 951636886 480624585 584734454 650368697 853944109 721073334 221559119 556190492 675138831 119647585 634296893 997991313 315360990 546257406 614381883 268904214 432187081 410330980 379769997 880378553 410683381 722593916 424261583 767256139 419638575 250247027 188777991 171271618 565613940 456861084 678665670 652987999 472203564 715435128 526302232 382851747 749129998 688571368 906295116 768991845 979801850 753421175 545848608 661612290 766559189 722813841 753092711 857853658 970191653 316068653 129560595 149625122 555067626 576560923 311458478 871150782 103502898 892788148 191853364 447427486 948562412 616653615 134754221 207528205 510464398 409611698 937591946 120477940 831590071 418730750 330531739 444698933 160814137 531152851 862601281 898004976 396726886 706942834 154910996 272120050 828462206 596555619 927909533 788765799 677548523 165232695 163137874 821776093 383909036 329252352 488434288 817350237 976879181 236054681 428709778 580747225 805525135 692477503 189383045 756522240 569297097 502751580 874453916 166792640 252216575 643098858 675721735 108081124 471607381 345194414 413197828 199618001 539104773 324437421 847918455 858411511 270119121 772115688 598356147 815064658 673969868 105325918 400997756 402668334 439980342 707497108 881545903 508968336 304794711 847308635 635499890 521226016 156597379 740578151 383336830 417536453 594427481 575312804 947033675 834857257 778007721 404026543 862957490 737669259 587493256 784470218 584342945 784197787 690068847 245268900 397647484 220440058 258630659 921710422 817077970 552418935 824885276 131938432 380207584 292357174 349977612 354179828 996257720 995016817 582110600 911071515 119603127 287501073 507085714 671916090 913036036 372487527 841292051 350512077 565937573 809580966 581275019 689037012 637500123 751188465 539263546 749736040 862127388 162535658 722357445 145729410 288014797 930482750 172980811 906990996 925176926 219299946 727739739 853919150 994810418 687377789 800235367 480362550 403487191 466734596 493589092 220827539 587593822 221613708 537268405 568122307 797029178 769454150 539831267 632875396 819083480 413026165 763204993 979142144 527481609 276799146 336212365 712617790 714657868 997689693 136211556 483905092 278580630 945711708 646738413 516943019 947153718 259828094 314873418 798490126 930589622 796549650 820172760 464504193 924070774 768828543 311682904 711920973 514196842 983084125 991300193 519762266 357027040 388614195 942654541 107776342 402212579 709063962 582887022 239883010 208408893 142269928 231089557 831738076 300527716 243475045 280501023 525861841 815150484 967939357 932760557 926682442 691584953 223086926 358054247 722102452 435496014 348260995 912963613 575024295 378627797 383445464 361211630 131236617 848992263 287667195 214125510 259549134 300179787 911864399 628330286 551102971 422391688 892227836 251070140 753626953 735200483 828972385 305395914 112117921 917490481 857151674 405349797 387875087 729311565 488260918 939626491 376158391 153942199 113351873 651250174 331074544 666924422 695883214 698127064 314125668 327696762 834834778 918768001 857320627 813725773 961383352 227277561 881324861 889187683 186880448 204360378 931929712 442985238 787087359 550821936 829628746 579207464 112998758 554601068 780473650 502670714 844164857 343619078 903334430 266616018 516192230 991701726 730170094 519548392 155991217 931728626 668672249 747351977 287088116 746544922 589579621 564867441 192926024 579431071 316410076 351978512 203126987 947152008 301481736 600458833 114109004 791812894 103491164 672862643 436721055 945088047 677242639 192186803 691688505 181559580 525798615 619427650 404911415 484710689 155234556 456466451 418879470 216311747 651508452 859406715 311024682 283215440 402411201 164803827 758677728 660224716 999159297 275216626 201474355 349347946 190906982 488328078 820776576 708189452 634646653 896778121 246266851 297766224 610451227 517364843 718983571 977453194 432632116 535605457 590195551 654250032 438903393 143447199 310003227 739173818 352991372 263406456 416079192 888537424 391688774 303889180 556044535 758353429 379925377 885007568 261546362 451478862 688463997 570936044 526336553 849245521 859377141 323531251 689512052 858626414 635084324 882584456 935775032 278304548 438242066 833260506 110954803 938179910 577630537 738352015 784829496 750211264 271460406 483463129 885331405 425497729 954430581 776638003 865729139 160794765 866552906 981781434 346760159 433084715 828723533 301577796 395336517 372697264 428457333 885975318 373977636 172927384 282589509 480085443 133159932 554753916 352194775 338519652 724426003 510244500 345919969 966671533 142059497 837734265 354518304 464857691 295198335 316382962 681717968 863588941 614574236 424087316 649378659 190668516 159616890 157287707 291742173 916001748 290971590 728020429 356934522 359859775 196250623 649919726 355110081 148681718 862908322 468959661 594612400 895402332 407894613 809586993 823951082 551992199 209661264 887157032 700452860 355193207 472131833 817753039 575926009 965970970 317845367 520193696 305051052 780827489 243508455 636419322 644794968 903599511 632834881 924869363 805935931 234303910 867494552 942936920 581887016 214353529 573578404 320878224 226470712 282783797 841109612 127068567 557132066 470953037 420108626 636232788 768872826 467570338 920896311 236976504 826265459 240648898 225873106 863964475 934350534 743739102 213670338 625817286 529105948 448579304 769569029 895834621 368979536 640958653 490165669 169551054 384498319 649687617 311150861 436027507 833175498 945605300 154026069 610346076 798895459 950761424 360735950 767869941 801534198 373484722 419249795 159908871 441460897 637544066 872471677 676476978 528402389 543456859 535304725 400720583 486510081 340314412 103765369 929982426 678540692 359736625 253255100 366428294 618512262 439705039 911750999 201673998 660341931 950995931 710045762 154874330 167497011 948210330 546698934 615766214 723636949 276417276 948499859 955461159 643145327 314798409 855707038 814400580 218840745 255464771 790211187 920219573 531058221 491631236 370374428 648432204 646996516 598373099 970644729 828135535 104977673 266492312 991768749 269245395 956660406 131449576 659241343 882617682 480325215 813821877 531694425 628508464 387159834 490359688 999075804 755129843 746210381 722315266 942124188 121368720 193344885 624615763 618855113 787052016 545410749 770491148 121271352 905698946 491045152 268686027 806196217 819733344 996514481 657176589 826685247 248354707 290271312 507297194 848240403 997374453 486262858 391067464 198873339 954349742 344615896 901437942 533658531 133227577 647517613 881245591 348340972 761928023 165108362 738115318 338151206 818963595 559852922 855508357 272367084 912565967 323049307 992503106 554369404 473320101 582061072 118579109 111722824 140933644 807931554 802342539 795204496 980964328 775559234 978133645 378871386 775739601 103278409 128585165 400063635 558073627 382287718 179971857 347930415 191184409 832189797 919137746 540515726 847662541 135868576 795073493 229538532 406405294 941329615 143419073 742802812 670778089 881259730 318894818 238293893 124841910 835088636 675197295 412156296 359721273 834700229 939585354 444928972 237216839 888045246 332460384 295573816 637345026 717018806 114058836 716583010 249593609 147807712 577678136 944600756 916069923 654871492 625741159 255942640 603520446 488934237 690329419 628855893 353514396 726695468 669264214 840378543 622503316 154074952 915988530 301569363 459316188 229492962 127421221 986453270 968671831 134823423 812552893 115123003 893704322 351995724 498438696 535535729 617813936 197821317 632884980 633881879 924669008 410641956 175167990 313870403 996631213 560232918 193444411 990921560 550573445 261834284 986048357 938776320 621268562 762673021 871835392 985352020 975833639 856527182 760162869 807169977 777561409 284415449 786630982 456993502 267888211 719689937 463269952 519258506 354657089 262960774 633266982 682201480 841475986 682233771 236209402 328508134 886636708 793435639 418352790 358296036 789480964 124741893 585597493 481248553 535117283 100403288 166065080 730907138 308085992 730843725 159834065 935915205 587718221 756499263 938245461 939700800 844357600 402716372 736652554 257288183 916540422 188520757 970162820 452022678 725503977 320552381 831175372 270125206 467657047 293011036 329757598 726175029 235247657 260017034 896548375 486043912 765731391 574892269 776017485 161465082 700494754 388548721 301956843 905382629 414466638 166023102 612855907 848778106 322942802 247358856 659791946 796925392 610984764 784951033 431597524 634721361 807740068 663524400 846391751 425245709 646075963 338128909 218260320 366118978 134962240 262974774 161105484 516543450 128142432 844345865 411550587 960433274 803976932 481138784 109514471 850948601 136006040 576605718 662202828 849731515 274761907 813347235 653889792 650188932 722301955 719681698 328572176 301966351 311056503 340905214 877428279 579939261 256604452 421002484 719332317 815436797 153242295 277584750 939273800 559987690 773023167 629268270 740517167 666281599 837477307 654808402 456029167 983184042 337127916 539062923 451325060 776710235 967745883 661770371 472914679 699398012 877436275 513030456 988078892 835873957 280833206 213032666 259452909 648353309 245169218 654505200 741678350 957105462 445166831 710485659 263221615 161887438 974351443 212688448 136248229 144694872 254336401 800206984 887066301 629318894 706965251 482791292 656013532 800095315 370605830 470727372 951088243 843662062 992231704 539743875 953401246 404448621 449813949 436198708 716666809 655277715 707961163 341158116 334578884 823049327 830087450 552130815 307010578 493859720 233150328 892966429 110440095 187288404 828537404 163943350 455132378 558081961 528076066 659676811 248118440 914443638 429134066 441891521 359862856 126118330 173328044 204324932 977954983 912317198 722985600 703259821 150019331 938687776 284738642 718353346 196150208 932972320 228506212 108655278 199871121 755087830 678670729 207703422 343162027 971040009 346686565 485101393 562789980 273870127 655541867 163019808 137571156 614562671 324051283 669619941 703179308 753356800 331854239 979427251 233276176 998955459 966117940 360582939 480884073 590046295 282328945 811417609 879468513 907353263 784357173 685791613 759079516 637879073 328317037 852422232 266896127 526737268 611735941 599855120 994523882 650927384 940177083 677678871 190642168 723366737 413181729 306053300 743422511 292012638 939958058 920341248 347053253 758499884 290194014 376197096 306576742 794076418 820358974 496688309 798075482 376808063 356894631 147901398 990136028 740293295 403201642 449045510 315572727 875524190 227553392 957781415 895910684 644513533 642551697 877662384 797198596 776914106 181989466 204236208 830705585 457169136 589489019 686666232 513492834 238700407 643879596 923367121 127730531 738418551 193439002 411560900 882080068 330762881 455417768 782863222 502542995 148799609 640021683 813423351 892309614 185004852 320121135 303966576 608139957 242935852 226686042 462277384 311371153 767710797 700025958 689452185 211449250 538043343 203161641 570414772 233629947 713060141 662275684 590254138 331355217 294113765 135499667 285367860 286840059 488034547 643125677 895230090 522326599 406713610 279449164 789685665 461463596 199931640 182947141 792287213 170867509 814395661 422543787 761508327 420014226 530950231 505215385 754671994 865453134 975497863 109162216 780078154 633481099 874782842 838431401 128188246 356196007 842736525 125036541 380448038 324205079 504416340 891246601 602139388 761794321 421291406 417166317 945310990 137326291 290521659 860657044 362412011 378069935 706692037 367021960 619461167 506258187 523871716 394428126 127958974 981424898 178863632 154590247 634604853 691911386 245666126 871370263 990799035 242841869 766494611 910665350 476528685 326253182 460734213 125532316 328371662 316509696 709658322 918244980 282970347 176525099 732845312 456798891 668629656 963045233 283177245 592810039 193506861 754346124 834032292 952711055 491601017 356921232 200697200 806054495 378487967 804530835 643782330 615094559 727277864 743275693 198668664 444284602 453259035 640855996 789737680 826130640 492222588 212541263 403148409 883629482 549967952 982642830 360972872 217085651 528932532 638720333 454657561 655008075 334272132 479913416 940912065 219046876 960783866 218068292 174560062 490655644 721863795 203873779 579507157 375835640 502857450 825239350 625356923 289953300 158668483 621781419 533233554 426784586 289293774 417432363 632491248 943658965 217134291 756356164 124854536 391079864 901893542 428494487 528545460 668832981 433630152 897217825 297775328 661327693 821651378 434950216 957202005 710477914 230785125 464283105 361605476 723074822 721544168 124423202 551362281 795413873 605695224 654527075 334850946 703436894 415971381 169974284 954937317 202795406 669239073 321011841 963423560 252566466 669875704 166911860 640733008 154089292 536788927 978035928 156467543 743316903 719318005 530914751 117116422 437927950 203374502 796576684 353724537 510055854 200100691 112776486 312828177 123101569 284835742 460695414 806414689 989353040 820642986 905547960 809597934 194785633 365332859 893245350 981504076 707833871 281406241 838292147 947760245 143782267 360113154 263937671 750479014 638681874 549808951 197136036 289543595 957668169 284534822 551352225 123872787 456887767 550067740 970101416 487316964 832082219 961399685 897937388 413022604 778474488 931105845 663011751 722915280 746793949 947334619 405902096 202334506 212915440 982058240 877053765 278093167 674331924 743923170 806953344 548735563 185235400 709290885 300817170 998675574 511179663 645932750 445052520 134285310 395117821 258358815 927926253 908723985 500575591 706012001 277424823 505293035 477295193 505711698 349578589 657767065 315913207 103504721 810054903 243272821 946192716 116114178 144649915 995997224 463164159 287316294 601153228 626318603 738503814 198455197 282277179 885594552 436417367 316633170 177642187 667219006 240320036 494041227 698460064 247187125 553636429 502382111 175483536 440496791 689286570 184081845 285310402 696051197 714937131 947939299 918405411 927708881 720254781 176475353 734575089 610929614 529569930 317266462 481151544 487610664 438312048 301917532 312377609 277772987 707689648 287519912 602011073 477211380 345630496 965346680 256826102 518940749 509261961 898663125 727005232 505465507 122959517 892885509 448213817 771167804 341937317 254196383 986444514 656840051 266091434 177232222 486907762 952303916 177356515 747506043 727696842 478901149 239565893 572874476 807462136 219666997 583100690 749241100 389799380 714220699 453379320 720593862 708044664 347574320 482488781 539658318 266927459 146685933 975086835 174046391 563302735 143991794 288559748 733265751 438754778 795217441 763182028 472551857 666950807 477679835 980727647 246799746 761492627 763061511 871803499 654011944 395269179 176342369 553669790 125346229 198423385 643687677 394746067 770696305 737446199 976640843 815576510 837208116 863979252 376109316 831077507 589417979 452000512 181474991 538579819 153998286 118772073 638691377 777945368 855237547 706140293 996751850 536012281 410269548 643782480 332500408 745540318 957057102 344620243 192784312 494703374 628461000 918671094 986675119 358867520 668429612 908676148 674353137 715853738 692680558 854373853 903623378 612898103 915241030 310311386 678361960 595226612 261786389 520946423 189066490 835714245 900053566 974450622 554026018 647572164 679996531 862383461 531610436 472761497 939118604 268562343 840539657 776132529 889117913 510007177 194662658 696323238 140600470 590845870 112443219 635879373 297581963 380237656 228489795 553457792 717348859 651987394 281912237 759158202 762140365 510235316 361205794 938605606 356049513 744188685 506589026 376299763 412792996 339304783 598716972 118910602 396233576 906384281 271545002 156147536 337166701 460135406 670281799 392926648 912258859 292968997 166928931 194611062 607998500 999242470 346203755 304994305 814602856 834471352 752774778 365125115 166533218 929827262 900325130 955347724 248797680 274842101 809539511 567887844 777641620 678376281 341229684 637753902 196270212 716621592 788075728 467098094 783686539 266423689 340908095 850325253 479577616 515172837 577291380 171938439 225425415 469952841 342309110 192978715 835546320 116713005 381546116 855262326 415135654 619532026 644529092 894582228 879329492 893872859 596134795 523037628 516057169 186385819 988105682 729227524 734114442 175794973 629148076 853695997 456653198 633073151 664325501 100502275 876327174 985412920 596842419 676348476 441416623 425780469 243449243 212058301 488774047 341718994 846191493 235157312 446621851 229639960 903323710 262117338 896902856 404450898 399177401 797333982 609257340 486681360 307640375 291678056 399075251 714054578 627226772 754708370 218152277 895980819 986017867 219327639 796355981 326985088 774311116 212715796 153992288 139851299 120421922 588824185 735510016 522287056 230881216 289781410 985326102 448274596 364343684 372213373 254922418 684100406 930058722 212640463 245181212 815072768 347864369 103770184 311420421 103404131 809420459 980219469 272881964 771815178 388647762 938305101 522081750 243710399 601179375 504601596 646037483 853117170 551673262 560377874 344806789 564643389 782308715 240284105 285436155 957891318 877346667 248650459 117034513 495886713 772981140 253044872 165457186 895073565 507837373 917814688 734771454 586034332 823921002 665882171 138071035 236381920 581123623 452364280 604709372 845561523 628147969 169454343 979300741 421092920 227178305 379738259 189053181 614641424 990121968 347580772 685199083 865284990 795343736 603440105 568102440 909947932 776444800 556472855 243312579 979922840 597449701 397484757 790607112 649350197 908624991 848977221 272184511 241125565 651531886 804066569 625296092 289656332 506613721 843563726 628878736 295049644 676157640 576932341 846047424 362371410 863344957 357878992 795305935 260089479 862900147 770466850 385000394 260801970 236201749 852197180 615792838 385941317 164524870 659991189 408165498 330243982 516469979 367609696 687857850 619413270 541931742 771992563 610647276 747769992 312169102 571256408 256357783 366374118 535002786 909768667 598334988 400802296 341553728 547353688 724381254 714516965 372812830 535352647 806878183 937102520 954922447 639531915 447676078 469477452 109254666 168432261 476177410 380084548 683607093 346905731 713077035 946850927 576051659 849565858 393555866 800410157 290286395 198828004 210172613 412981979 524216830 566392287 872611054 859861331 607629883 513793547 352718497 685671948 170235499 351245869 895961798 652519666 393850576 685905757 723458058 718000981 659772093 742570111 610621062 640695386 588486329 187694677 853059455 533571913 409646830 617516626 321387242 745039610 375987138 601722313 775862519 498211225 818994841 486588173 215275189 177042718 244679901 188325385 557320659 764514577 633793462 966030667 406194109 834293326 751774669 260566605 716648823 780130618 162525957 541142636 182018127 278698837 949876018 296897130 744023600 690411625 963677300 471552610 101946792 756025576 501919647 828862436 262534568 978176283 251776940 686467856 827250015 252443784 743029690 716645750 757717629 432431386 588671075 722945790 716117384 809284038 762426195 644244837 837189542 693580583 467569842 677645143 482462227 625816267 359205188 626606245 774359378 783589583 254462510 144046714 777938869 740157588 600552647 791048242 477457569 791322326 195271815 311548488 325640306 929089644 362526022 416012235 333695916 360974606 600446998 537816260 191755032 762634922 611057816 619142891 327115246 669445034 285985921 268893186 578804750 707076508 343282010 512639818 162458285 895025530 283843250 171243432 880244757 517553355 919663195 244069254 428072296 121588025 752943527 484646807 762528316 386651648 262039596 935994844 937366947 522689624 231996133 312868956 805499072 459500326 546213380 623067195 160676440 774778150 852665412 711745108 592126444 612514846 997838715 239134541 791779295 886360720 390292757 968826342 351982486 187968287 228360448 942976227 129159392 825566520 519149667 852024125 346021812 802466944 533426963 576685535 991115354 316466735 718396594 141029190 416090847 744041512 596655570 941041771 502018365 792064423 544673276 675379863 483120338 420598665 326611018 297677822 736827414 366684409 688679516 430146500 180451402 387740374 902404778 258144789 275756416 344892180 877038556 382056267 988142578 268142269 246203765 231220112 743858585 769406252 649721429 190742602 493644267 747160243 742425340 187735049 157630542 308034010 601666664 302833699 416393146 684397812 565122406 826389086 215219051 585548843 808181599 812204768 708748882 663410608 227477018 263296096 606134422 955533267 391638177 491597139 564933568 299698041 862102060 710223036 863613083 169580643 794792773 182730505 696971507 193281692 226387452 799799721 384003726 827389755 671424012 391732669 874564544 410818934 298906483 240235749 176053940 540231179 576617610 351732842 797284410 664345718 575158392 150734740 430523702 323095391 903070062 563254963 941938381 854621047 627792462 186607503 511130215 438806463 358460628 961991846 359824466 308814269 107437269 336950470 456801591 251906515 917919872 430609380 278377261 757567496 267132988 179875175 156663807 266093447 244088622 432247296 490728659 742347865 987271491 248462586 404981509 987891515 554140948 845012912 414903806 646691838 813501939 399540021 166211509 226247883 837831467 251351229 146887083 434414127 425926193 233970106 961418709 897289545 239689613 623449979 750020381 934890627 557523337 302113233 321383440 129095751 296679647 558566907 730680382 328730354 235559508 945132711 130647771 522523610 221163315 985357998 378275494 375004196 696396768 511584106 312612566 701768351 370307307 264870248 366006063 569876504 704917344 130880486 511376255 757901921 984838330 688503756 180911488 146730460 704217694 107690207 825987094 378128125 895648592 920413369 191693003 361091723 930841369 519129999 113994600 109542255 225246359 137108676 903130311 576776011 528293522 149894660 158499857 450637187 185507848 942844061 555205166 200295803 144704190 132259537 797415757 855820029 982225465 200583277 963997996 941691000 879559166 637220959 850700617 564311293 345384459 817327766 788083079 306134726 573351773 174416236 871563601 371586569 664319079 803058055 787819358 890494635 320244579 861083482 153551735 551056885 806014321 135742694 968926665 859607871 301180879 320035870 305922237 431927101 562332155 877054055 570878478 623169474 253179100 288566007 230135128 948760380 973683701 981560731 199065742 559276030 670481849 238965561 924341269 708333241 290295360 382817676 340583647 949061489 150860184 503466960 878770100 646361188 173401834 998497072 260739164 381564215 129584882 100362696 271848106 513520132 518991515 499654443 758114726 221279767 666404964 965000152 347517373 972240193 241594099 959174431 589935059 511279676 163812381 932806653 511736002 157182114 328277133 385509963 425890637 230871153 866440976 152430227 276401332 888039661 288042347 302358367 725487237 221011763 877616050 167188420 457600873 411638692 829906574 547780538 329981187 885507970 495175792 867070601 890235835 692820412 623619066 856239543 449642577 277336792 415455657 319539791 296844638 699659573 268091341 729316773 176143097 973912533 882365971 980231753 108349152 162569334 654541616 395856440 973413716 796703029 919463247 144923573 662252054 589874397 553681578 417551561 516160164 477592360 177154836 892716697 326595282 782972607 619562377 979980344 125873241 724540455 707646957 549564906 143199649 567470555 337749829 115013231 280278164 392345218 426940093 353957095 851969665 849986290 947154597 169740784 749047157 141669048 479568544 102687896 266199488 498076380 971573835 713209066 848386817 437812856 385536156 138744577 777286735 432023894 893645067 487249869 682028555 383112758 968522343 436035943 763473329 990266676 637248841 232926690 560175184 914661129 745536669 687881768 883298349 421624118 631161917 166786153 841001982 959226314 839866298 776497037 824551895 776417153 553602528 843019632 278854924 502685142 946818083 195187954 464600778 107199271 841737403 892446906 388111175 693284277 958989711 753897597 524143049 637475588 876351042 837196787 594932623 171544523 553784133 555320560 126348174 663007655 185645929 691301659 321024202 650464366 170580902 539318316 178840414 472896881 892513336 323771343 380922369 938676184 135566372 818864713 741258177 331637967 271607795 693061165 126932096 107281440 202713559 850342414 723565970 863314590 782772588 642319584 570909808 309596328 363363895 338712205 627374244 367007620 945823741 851133495 940594804 145815411 391722590 677137326 580250022 962856780 919488098 120490965 433767832 818434127 972783070 768825086 480710589 781490458 354607753 664393506 624153852 624040239 868779067 945748876 342487064 160963593 926867875 127953288 227337232 871883251 472005391 915856269 898412960 974864339 890145405 231496181 395587898 763940726 227846178 808237720 595095801 918013027 281923912 269968192 168839550 874285244 440074257 322547612 501764192 349562923 702467477 223882887 718443006 836659528 260966283 531794896 730599851 452246366 322783040 927774654 952478397 798842174 788180887 823516551 537289939 902714606 846572279 524155358 489501883 647229916 550618587 435207324 740497452 706288218 820361039 800269927 799878443 251955320 105936981 198567370 317693509 826966740 100751340 742504099 650802803 124475377 912757828 947160308 808584059 830912360 515534077 362202754 136174184 333266575 214865262 665090861 695497000 384194800 697151019 515630921 151620659 741167555 852982192 600272624 822806344 696800479 936645464 489188714 354196694 809433033 196434496 978530372 728767426 445806377 650352464 449428449 555682208 388448110 452652095 848897412 577174890 962355939 196155386 670970381 473415093 325041079 340481748 893142697 187031591 184147820 381914250 537713207 104551262 969367883 818787242 545890388 313514253 158968682 318429372 943800129 904701725 215259482 847948777 524340196 635308332 951112873 214566418 464278560 721215377 398668505 774733636 191264822 922653996 377352214 346892210 902132829 926601628 717576429 321558653 516245289 890776511 731887006 112416920 535507862 616788315 194013165 147731189 983179429 332348055 228342955 817049740 387627562 265496919 184998219 465412660 482459232 121255785 630012991 329940656 911128241 135762552 234428146 540041057 904408920 605815333 684918182 116436913 318650020 143012102 132762596 144958741 232388759 761617520 392740047 733374443 614399218 242433093 728018715 992893504 369611205 916943197 169655215 960483477 825827712 498293164 856639425 607159975 816879674 934751209 653017556 494812447 951583012 460969463 588709435 828109630 462406035 434882212 712168657 442612895 279608067 462806301 658506836 495787233 569850561 968877752 415208479 388903823 867484094 746593586 302504807 598018601 725113649 358643156 651988860 264077301 652136809 731693222 649578449 859557859 664200736 916968499 496578513 151486579 945975707 384067168 402397510 903459629 352604725 953270593 131549296 724157556 969686751 267515257 654742836 900692911 801674362 333047764 270314484 242697577 431021191 215633532 912666136 480793934 274083910 251593190 121068988 469492157 177624586 827269537 111303644 840408328 837605960 180797367 270481690 313133601 272551435 301822595 975382359 633866203 391340021 943528105 306451491 903870771 900960806 518690061 432705221 505392638 875649346 531646008 359324442 803931127 571531175 316698389 301866383 592641443 296793202 105377100 978361746 669051307 482208646 241111129 638391429 768098994 231064960 172247886 328337591 768476052 441367957 718581655 263962380 270743288 909199551 904305697 717342313 317512508 316754961 493948536 426114016 161033286 910936451 685549736 993706802 651366359 530454414 261045966 464967816 599617957 834546573 583973505 722719392 362814738 879086290 247262049 219363963 430978232 709038324 756067892 451957971 883872551 698731913 810815178 359749398 937566619 269015977 960055603 788351635 425000196 267455968 955094067 440602291 210257142 287813430 498604528 732702483 968498714 224769794 501977326 745523127 349617037 681421472 215638088 472118998 579895392 361942405 767071170 151377738 125107089 980034218 173317380 876218525 397866557 325651674 876691678 313438327 197115742 256991562 525559881 533183521 388399527 425258773 626047959 195807438 649503350 366333288 823375479 673797063 771967221 319947356 769451076 407706219 317214694 868847808 678877758 857258629 990167142 787233939 389975612 231928447 923562392 846777849 512990858 224588272 683834511 366611397 275908634 960630578 518563639 483214792 871536569 249550867 545007509 639021986 760519379 664384002 186401604 136910738 243019243 379023196 610646899 848042919 585490069 496373734 115816210 839970182 554074465 801410341 591078287 747010222 102024814 302282499 839424252 806134170 898308086 844030232 353397452 868357597 329941742 919614454 525314132 490637575 594927159 770424271 772101880 280036033 306042147 245815735 140433898 715396485 964576447 290246945 575031028 387207949 412691269 836060735 800660794 226440726 707979464 151246182 967031596 936825548 160920687 407406251 502489572 376391997 701352612 943662155 100418231 483160257 386690339 245483452 276840233 414127654 939934609 774113182 592221263 652687317 145278569 305455857 298050021 482018871 178712047 214382809 777018435 189877036 739086800 739091125 830569256 728540286 826309363 614051841 720389110 701395103 223438617 387069590 630700955 432864563 921575297 355646469 564977177 526904515 292531255 798069813 928587823 977379529 683436378 912153101 472838763 394106260 112761008 913836389 940017382 281041979 765074017 930892827 778600874 324671117 920795373 796885606 115516807 338190840 137398982 144738159 292868712 280098518 516537979 675310590 411588136 471605151 307466405 583889001 174991627 921133542 709946348 911986663 778036651 764409965 944377627 543025745 999023566 324366900 813687194 104359340 803148599 310582752 443071350 158450160 204224255 465049515 424243981 686869535 231883804 719802928 759169307 816803845 516707199 164602580 903941740 545795830 178280711 108952967 695479063 561475593 792338955 732112460 373751997 354047257 363862110 752146779 309894819 138812342 337858136 308528297 334902845 616014737 376252522 549710826 126079929 831039389 868372953 145585057 991327854 418414438 314596684 793752630 736675907 453915131 724035201 882348253 506470994 786470907 687119421 723915382 597996920 978414275 854126694 870708192 522245374 537121608 999553140 557863863 566419144 252563370 510373581 667675516 644669226 258105373 296364548 355676042 276903850 649073074 707236143 551342346 557571667 838642814 241356738 140114341 683317942 191529306 233296652 561583786 395788965 257740689 557237358 448850936 771727623 299536438 681208922 126770070 113576528 385342943 563234807 460878829 502537935 623050492 844277423 643338721 385793116 223494813 912123697 655330430 861155557 978000574 538866052 592005519 744830721 692642039 345737607 176279326 126074330 527502141 800509403 332228056 291051893 311687973 929520318 586615985 458752081 808539696 781472914 803412927 565380686 268444580 902292523 691174923 186218192 142862523 920321144 897643019 639439169 806413750 510648083 202820283 352739474 231621707 907287395 538174919 931780101 138608355 173872821 251448796 830511551 221318060 246395244 303346773 408084889 357187803 293467559 402772234 936688465 306484455 409885164 584071124 730439777 534868763 533986275 107982987 416892027 148884975 913814851 757147824 963105379 136287733 920447426 805887703 172161463 578760137 325179810 463674584 330691993 856907972 218509864 804847862 427368875 730702512 983956877 400070507 695191429 965230560 488315187 995914470 650878613 364799126 222177186 950480963 458823249 459999109 393889320 796190601 151527371 577952916 418109472 692139630 331649567 297821724 948713334 227000315 406284847 818512473 281932614 212117224 769192825 344264480 679527857 108267505 714303989 529879908 306072505 708496960 112176060 631281767 783078010 620423752 958693597 821775845 440749971 401264358 242904447 833526179 764797310 674394063 774566060 131341241 866329986 122864733 575614262 846276374 963751585 885592342 713312260 467893873 585977836 905085821 232537854 742601398 200746139 581262349 404188452 598513930 592592564 585067767 951028339 106971280 868333735 480855625 326042272 782870909 817976313 763299148 375294453 480238179 470156586 493208891 864605617 116521974 953333087 927815702 155203947 442623271 229517889 197554629 499203527 681655304 366609705 469916833 189559617 497174899 484698688 499566734 343952293 825970414 148233971 113913867 831246213 696202153 234685435 959376616 648890985 717649398 523860118 620018788 429436819 482964902 280841628 224770356 628758973 123998141 844243651 219418439 812981829 586673873 809006736 101957653 879918663 346962698 162060955 760324899 862483750 238919416 328240137 491741038 473294286 204564126 686092702 687139122 818142281 579052602 924688343 350386680 374109944 251500088 577141628 356908549 635017217 326253777 449670735 488108893 128248856 281504179 722401675 481411845 158261914 691770178 559628548 882267446 846667271 447306030 860857750 262852645 767149834 880940687 587020538 654144998 798536946 907832382 510904478 411389699 527129530 731147056 615142465 574060135 258599569 904842592 370940206 164991074 258208776 844926243 573615333 139476353 888707035 876959905 177319006 710309490 528768123 121366980 102472629 748877289 562654268 740178997 425573838 262063535 901854990 761325912 356358329 238998504 301458603 331077051 115277782 613750133 769568816 402989978 334516650 261744083 892137714 750339544 113997039 536677095 789425341 235179864 824108672 519054808 276544682 891337535 271654055 292037369 263336929 118455598 530127435 282455325 739120931 645048561 801611547 789631036 783367735 983828120 980283244 305509101 884332561 309173610 670741778 731213734 389529044 463397392 623209010 148919621 952953203 648650428 877551822 933994593 360419782 655849480 340554450 883069004 638344813 667735762 988081131 429023689 460544618 687789899 254986946 269181025 548014480 854684211 310310787 456580691 856628646 921517724 411552206 224555434 974552184 217954548 574001633 460393122 287225630 904720482 283068594 892797363 576316331 319162497 459093979 172472740 838649359 498421921 287799909 131943712 665166376 673716787 677237381 789672226 815355242 840857055 977912340 229720904 331778182 129362766 850042318 213647266 266818906 491592773 326074352 712715776 111932574 349002230 376346752 287701200 826687489 340633333 152404544 714125837 938828752 911799282 568021122 413332048 484985102 229384550 448541388 779646005 423872122 919227588 387592648 142485668 879227772 392852290 550910260 847530921 574135246 202438691 329927821 495860432 791569485 790052493 612773775 216471235 899832601 649015783 430255500 775493207 113075390 607050065 387328035 179862826 693264909 262303985 540543080 568324866 998952644 389333171 880725362 412388253 207437639 791018889 540084475 801986169 298764908 319616412 826766714 604766264 310228330 735290816 317529587 598448927 803313667 392020479 271713861 356649101 392429136 538795265 426213825 965881590 356157644 755606095 922766366 763634694 116807243 995768775 567979709 717914796 465173624 825981383 151839681 106118789 862349578 320544116 352605850 281489624 609946130 745747702 138824325 838124972 693196450 602035572 777575879 317596090 792633370 767489962 216403139 215380569 631943524 114625082 367614879 527719450 407294722 107379529 361968962 809003128 840128686 129967068 288779577 509881932 986540255 694471046 640505927 505705142 753009238 945542763 485547034 399867618 487944981 707298385 821523043 394162331 130680588 276670819 404103588 870812677 538676247 122357557 203318427 329391274 507199463 712203134 543954294 776716108 205161787 475366126 132461330 852694653 301763633 268091173 366418624 286841454 433411245 679113661 816890747 984687219 168074739 621753823 516682443 972305184 943739808 744192997 782766995 874243347 671880842 954121115 913916657 472616577 660841519 936954399 267860249 196264127 376477575 256494573 653878185 774371647 464961769 225611074 905021075 877075722 524108839 274166514 895037071 465821097 926808672 258022982 705139609 835728517 735640596 991011763 728176710 579079267 296439565 624941378 485406096 434048452 568122505 499874375 418586141 631321483 633765225 579261316 706303410 250353522 128074149 286502365 992650831 530993497 606771573 357421440 787238492 539141175 880614326 753723009 748621727 909971062 665859060 615993539 519219999 732647493 359149388 381414642 565170881 120638638 925603750 726990773 706782965 570788501 783973694 549693763 940793979 512650337 294814741 735652735 322920901 108206788 674439349 759754603 819017158 321729969 180809840 143541386 903333991 164076720 564373878 449789013 157549719 620207745 148220060 192832562 544759770 416661800 898345954 555217189 518581491 902306204 711093761 649095209 734863759 376967210 709341075 230537994 489464405 953146649 799784592 284154974 947612325 271920125 666992687 177900784 860146229 672487853 533290311 224359672 558625502 494450292 559245608 172786724 967908275 725053644 236303301 670626070 531075859 444424591 218807288 547780690 243353034 250200312 211382099 960268793 365114403 865579626 772488849 684333693 895834292 671559499 606330495 938808363 512497818 442085609 227491052 403165917 466427455 988409050 275603553 627505154 733340955 760090884 592895417 924067352 598212377 964216515 737744169 826377270 664848581 641694818 697710877 466242044 749743064 881188348 620780052 403569568 213630904 199060421 771162251 857873734 106814036 488390634 848692937 881838140 381513257 903294491 415548945 508384096 231961109 905285450 365994689 562880006 299413622 388121303 878447549 735046213 633648752 646232167 426679684 783217960 174970282 753751225 474090832 701299264 404575180 220764256 191938201 970288410 906982026 721892759 493770586 652578859 652079880 393088157 482349450 389365644 872846943 328498681 635569199 227955337 141567311 984286502 531449894 348014158 503780291 796897485 738534358 712869590 932394372 407983159 586988472 347123080 774022526 859904039 253126321 538323627 911632986 828057157 593899832 725066284 421428358 792965280 853964052 306985627 143992028 652425134 324235462 577574269 925243660 245208938 603913813 593130435 111057967 783953813 346719093 535295632 506133169 850232554 456186554 280752381 699280708 587888603 521225020 357772709 781775685 900225321 649740983 249740570 648590928 215987068 305508256 547509200 701381852 144968524 366450336 825650968 923031612 316752399 209839672 992365965 673567598 713490252 442637911 705853143 861410163 644037579 450720864 367171821 305655698 836964250 686063035 259600154 987151595 642783503 519372604 405485183 946086399 424984845 196820990 838338956 369916769 762754778 459088330 532868161 294695256 929195024 387429873 380568398 746827662 728404598 326014508 510160759 496178136 752203136 594709467 824821009 871381703 360245704 570931572 587079144 837265607 951545090 673243519 388664856 368903460 877670923 582149433 420062573 322205854 666325428 470961829 671493018 566211460 906008302 841641002 779774222 423549073 877590744 159013627 976127273 104195263 252811757 417295522 374471655 968737907 500321496 161934571 111786331 964504440 542090955 373916164 102054717 966951913 723632106 428403696 793548638 166007582 306038962 645570260 653221071 711153053 848540199 385139344 816307571 755144834 911693406 900918184 783230704 517363312 700259952 239520878 152906680 117359298 986456436 411400949 541272297 314665066 221141725 270576311 625027389 887312251 665131569 866033661 791288329 696980329 533556567 348886047 658810668 175982177 348967787 746891887 796906491 819995322 503185581 453714609 194419687 977648453 805449868 507081863 625003277 824771845 159959760 825111144 265355130 823041823 840690067 119315834 843113091 358968791 451157472 348815466 156687041 209054809 621507504 947897592 886586750 441027372 242639952 912104476 102206225 655548219 518331955 199573918 519604549 639003354 517342041 548950795 636925338 218221836 224363028 883593119 253792242 223271968 330069552 985840899 104612229 215396380 738521626 343315785 360001818 690767818 658148634 254762745 790189276 102303245 752776445 109223056 531324852 499538913 325762651 828435394 471631335 382227420 881027877 930507913 260595887 456565280 628147333 188903392 946491969 882197030 659251193 551018591 410224835 752532160 915205636 133038781 720002839 286761645 797985082 371668986 752974108 861217757 921078102 912832092 503551402 288030351 969428078 134063139 926784031 339547595 614499865 925283170 507816539 891754781 198738509 567421237 480638246 253817519 996669696 471151223 777520744 481542096 432029620 480428011 851119323 538413529 388610936 959668782 711590440 324475634 894048499 628922469 122154107 753816862 777289609 263086309 582509798 814592227 700020778 691448982 542256132 315774658 550547382 610064065 692801177 328408594 709259788 476455622 720166804 426492916 247807528 721428561 236619438 576447844 265439659 804626742 839974582 391675348 158136092 812289260 295862608 990787954 720326130 174434285 989925813 873093650 909814870 965036431 703351868 106738129 469985327 169996727 394754104 660862173 547885246 724424832 689741808 691762182 263510798 751150407 802304287 195852277 340609777 395258538 636775409 285568624 691434713 419225366 608940339 459637235 504454874 656651745 413454558 568898030 793150551 775545122 967956092 847387111 480576372 612107784 796440936 793062473 322466704 364340613 101333816 608054253 462127375 569620004 867326016 908347291 141739777 205452944 265448870 468139156 585766590 290530579 624616045 626029663 801604270 234582784 508496684 927539701 140011716 290370509 102899189 505260715 703668225 243717119 780977083 769862273 508454816 767215007 444872563 749909905 911876530 527215722 564985118 618282271 153411475 785167802 715619843 903541936 985950462 366532001 354317514 537724161 819383013 841723408 994624847 102012503 558214887 334613293 480315459 426015018 596084325 499935854 144028483 398263866 465304654 886372098 213328981 862608127 411731606 707496423 519382577 129653038 900674377 413152227 894856039 828735850 620070801 230412946 454180909 274436359 756719163 462782889 742064183 524150711 275103211 739516050 265249066 466794531 223677666 672544155 436032959 769677590 630955232 454078572 242614685 973107889 757695889 460883016 856802919 855958639 236932266 348997910 157221960 901466175 495182738 100012493 583558333 342817755 522088119 328303006 152489665 429146939 365271716 760078503 403425909 129436585 745540560 694742525 741962968 607127429 477447671 395596780 240902966 623884246 251100297 676230754 946230485 757663386 191629489 385701632 289281359 172748945 213335198 449521594 571452438 686215134 991215528 581909345 435500877 359310285 542586047 689590563 673839858 888775331 150880275 134227441 823743738 359295321 379914804 908778826 867763039 594762395 286201962 952012280 570160430 179379304 466655493 960775614 511037548 588372673 230844349 964879951 617575697 837904676 448442870 702010397 852329888 239116669 857941939 287988647 172589594 638269687 767089698 974839031 341413559 784459853 740382008 351416355 957736898 878159564 959854041 834842589 997499222 186375619 416809372 332732124 373269896 889584850 885817841 681186141 812641422 418681366 351212712 848421900 814602436 358391668 313135720 672975090 821168074 805862199 727706257 681206007 391554545 142635648 623783121 330214768 719778276 358132075 931434317 691444044 568370599 597352211 129228987 904089270 215419356 344448351 707334267 469560844 804676751 563098427 730399928 387247157 884585177 502431379 579539482 959559291 541264219 125871227 655694790 745479700 791809787 491004813 463591036 334846835 136699085 189753822 487486598 672378253 588372373 422437886 171438135 560737741 865848772 631312320 362921403 357918116 658347602 812755069 943951636 133830500 394290917 971513316 829504615 633773701 218689998 126352987 501968263 242283571 596822776 991966536 463371467 835159530 495397388 384612992 565160765 506865740 625129347 500772540 923842724 535167331 903974416 968804974 534557891 567915153 180984581 792001515 608724619 211674990 774693103 616763312 157840629 504671899 374729920 715926947 811395905 987072770 106303347 577533972 477644557 774626720 487698353 200387923 245388153 926971302 173619600 767089135 374008514 248980523 863595215 946306904 463823684 255214624 421860654 289757255 261863020 601122888 538319075 840069755 728947574 424088665 620087192 151465460 213090280 208012803 853381969 951061860 164222879 584783176 275492529 710414416 750575119 698439844 750301427 321111890 948764731 575664158 111690729 902872503 258166216 615514297 657895444 126480646 397518191 744620052 186990715 284704165 450791037 654374472 889956253 443960721 397747196 394023899 474927818 415904462 536067491 461586956 117140503 585900020 872081884 606183116 418674631 439868281 534197969 498925020 589563827 923593767 595575955 136394031 655935276 717716522 300175502 559669554 890560042 447612201 881212700 347098218 429552655 861298522 647240156 632430008 363446113 535384063 642383036 485250105 724946061 235131502 288950859 301167221 768412597 203120460 311795148 259571248 992203442 695378266 425996270 105320701 682088508 961722716 473963787 736478292 264619806 668430743 131198318 349403836 820916193 474715330 406364194 951738330 511957339 588897877 623342921 349592962 611166742 740502721 169543347 739118273 286061461 272223216 455006840 723995221 153913973 599269043 313033450 638678696 652961741 225762200 174592522 737105957 952187823 821045126 262252880 258338051 659286615 632878587 450808554 945429707 962044411 658961175 831495553 160042721 661990138 565419661 380073141 893879270 407054545 298175362 781885063 997051439 356653637 471195921 436461401 175479037 526666681 223600697 280984511 163830528 915685703 735118422 719974882 599680604 474683895 914610758 430000894 646553834 866623252 148320493 632386299 565937606 256783988 234370201 936796438 416686262 742313825 800272548 883932122 232847666 187400823 818684931 199631943 212395895 401008257 735273760 850667320 281032905 990995302 298467743 445307175 590785194 873633330 461939733 409815374 511164846 259532409 584452864 174933918 289183865 939250528 459248635 772102145 596792927 192295791 984432850 563429053 788199692 774281089 340124201 843943165 172664035 568161726 672511064 938754245 236856969 230582347 316344503 183407692 974561112 414546936 989560951 942466080 328589194 874936626 379480422 455520571 650407340 307228263 993504692 973220810 503585838 344410951 891685263 770151482 300827013 838084234 522877626 725866519 330582001 358213413 591368082 654196238 769413342 709815308 473495954 616742505 169580039 935920619 550965172 892750969 994719328 904785722 788691210 628631146 454973745 377772756 390317741 697873318 141522317 569845208 143801751 715206055 914980683 504538166 839799192 205351232 120247009 433395668 789761775 839930647 455540669 708481563 599771086 983186080 786961413 623780339 738523580 752021110 165296545 174156041 993210851 211677973 382753360 693372090 341014404 110859435 311800427 525513664 697625743 868842354 245712131 664977268 691660499 655334706 281809775 573224941 146439412 183899700 990233343 902831348 137720971 454534917 926022103 557483776 935333715 179226548 651283067 820174383 431150127 793782564 936908069 470281032 762369756 744526547 885694555 749887103 362692648 493322248 810320373 716269126 659125691 422721310 564033845 704204447 860022173 503317100 616561223 828021062 860281555 836759168 915360291 344472042 840780436 514224990 272851022 934917566 716505847 590334385 910701575 859698536 427518490 227259485 464358571 165489417 526468533 473071882 242231770 684064352 818518297 958509285 270057559 643910467 295867048 184419594 416025023 176765839 198621081 738752776 783962680 801134368 380683651 640497686 536275077 819501731 529828644 683134445 646446423 614774100 417178601 106873369 771189017 420700618 352201470 824039109 123584580 258781356 198115708 529763852 240163510 886678685 897312671 616110774 448505304 699810724 768309570 207666292 996350212 460272183 338169502 645732838 238906610 377610756 174122034 825939642 109294411 856256071 825112088 107974189 767210017 246561106 800139803 571023267 730239646 133584102 171657496 905072770 984218948 414971573 893589681 775889280 382488465 526296507 720195209 258708693 982664590 483600050 919607024 735744155 777065743 401624450 966072983 190234059 688965252 100422785 942730746 206417947 502830948 769316111 613173216 846572020 661695179 144936603 633405022 445313760 324990180 525085441 807942147 435658036 176048177 852037548 342577739 253475875 694458493 537459737 488440959 301319708 516085529 641758854 720667305 895748185 929386663 298633220 291030059 796185477 101670730 234246440 983753625 686774004 965023048 237190657 938257797 751818581 430471203 805007956 834564191 520990329 337376811 339064770 547334051 839922974 987541920 754609351 500068316 483612776 102112265 323294543 364585348 282829666 497766333 539591436 529360001 105062891 673246758 889101329 835048247 639584638 489161711 581718217 518925104 193089789 491489507 404311007 464880965 507617327 930035511 579998831 937412294 845837626 874075765 526149678 802095301 619070467 285015067 786032489 766881657 958311377 416819734 667656282 715697849 341591215 118434479 232393060 349848919 358210489 638600922 777432836 346890941 141940509 666616328 687922456 137621623 140323088 661139055 851025587 766956395 358474255 938300230 310066988 629361914 526686914 835982457 202132550 526408265 778305579 620020101 423989423 852338055 121726890 266520540 530804169 657256936 809071084 683932728 197888157 292625369 469006005 497509375 816305296 560344345 154351746 127559648 612080280 212346851 320153891 603198848 788184286 971334580 531175469 729193500 320927793 315418901 144519004 579124291 746854030 237148089 360527402 102865419 106688302 390581531 786456493 428738837 301879943 373915242 856453998 527062978 491850380 877655168 896564079 239435087 176294905 336380729 343162371 291504950 860331814 467772880 787171070 218652072 338024242 695779190 608945056 124949283 468972692 904719450 344905428 933463319 813475834 566151538 881043647 990979909 136287391 531066646 888394782 885083893 495308774 715702445 925797114 843365647 343033647 180416868 623508755 575786770 814828328 688851420 787658268 938550629 122545572 568783710 744440582 414692503 920966953 108429204 515516000 597074773 791744343 781916155 572139137 737720283 126538490 489575016 595388382 787944215 249144272 471981152 132125103 239893006 633124779 516512235 600694414 763804915 547851315 752901403 744373641 728036234 564736125 275075782 230421842 392599833 541155361 886761926 570779544 737053249 671006782 568430294 676468137 582962351 271007220 422808276 941823037 328806748 803577766 335972097 843276315 577698081 989770254 761247108 900785413 411961931 856542110 782517978 418502865 691750669 372717614 641732253 507757014 342676201 953980554 354529614 456000752 505280881 832422643 235304244 790023749 263750751 141535840 514490140 307982367 165523603 838931944 335459485 233114996 339796165 990511699 643946437 198667386 918090018 437265098 913598234 648001156 999307896 222552878 183495280 183169840 461291854 909945049 450252488 732640038 698742263 600821105 955750480 344815372 788390926 272372421 770634089 451383343 729626304 208289395 211368250 236714382 564288333 631926190 635915860 568349944 969574568 496354306 363617202 501654780 455680034 211845365 194903500 772450116 728260665 200050713 228517221 596863877 146300348 608802187 310524832 344306601 651863877 890149274 869528827 899876418 345388934 255662248 576541154 600334365 196505895 434083354 772080847 241630487 619245558 572758546 822274400 185880276 893631568 989067187 551878632 878682660 103464952 886530412 843174126 648953896 344214840 652056791 946385770 190277910 610258301 805798623 991538806 678317926 534375931 759691750 251114349 702970606 672540036 182621174 722154624 250765735 781195049 186131566 102866155 314591885 942783925 271684650 998073081 351473592 607721794 134202858 163450646 765948162 161440084 690217416 999384106 748409205 846349020 687275249 722545241 743368892 229217567 436715000 505336683 884235306 288578093 375995793 116062123 957302127 941561314 523600359 627854977 811302648 666726062 456968827 454105650 199059149 217150930 631456394 234714563 897825504 366197101 282170853 706503478 125312653 616833056 991449323 700935976 347124487 210952039 690368112 471449157 474573625 607223810 395703820 297367997 122982611 385774649 905883689 811893318 979356166 773601761 988536211 405670877 754798537 268336321 673604122 672223408 829397981 609540356 270480258 773200890 800279518 211672955 130564695 398129920 313070159 125883721 377429388 171017123 637134679 778470071 392538476 409805723 463127773 842192636 141738369 290598972 485694588 875457707 643590939 127836900 417479885 595521969 397536260 435605801 475580957 728038025 184417228 457219450 179244835 542010263 992248157 588835381 414061654 728907664 382334807 193980694 933842104 664477133 643647556 650049022 149433413 216745124 760718037 824360876 613467554 559984624 176741297 611544882 121347671 263636469 884598406 802168202 971287183 810043931 237245537 210341405 136534517 245394967 309676697 288579832 310528693 917084738 464681290 465039271 342213098 142271650 165852970 989856795 226821540 832431965 680205905 294382724 284069204 766221098 687832218 561444442 339942104 769866650 383155015 101805546 346269104 584528957 470146815 183103430 699348530 319079965 286442841 504530593 890668914 222768754 652120094 515007089 281126126 845409366 227866433 251119540 720873720 613441172 980364791 823426800 148661593 995171145 256062918 627851505 583776801 959367794 812355499 936916212 374231360 744607526 184118136 663125456 408199270 336251932 765752210 275296841 940973409 986848956 792610007 643184523 746753305 410090645 725062959 754717887 195784428 568598458 969946480 688413489 820586953 666785650 240391975 698704570 985332124 722136166 750725364 260624617 921810853 612383902 160804993 106406996 902386356 774459423 710505897 583578508 926069119 384987059 252638852 626347690 998287722 662479043 351784907 421741657 825863391 662927698 233786366 194512650 566957776 481131585 525617025 865302047 397834245 209093579 941764524 951711865 404839346 452518193 654316928 880716835 713183907 489233797 869252004 733379009 386242169 783308200 966965026 174563556 230378857 628311551 897292325 784089049 200655577 996626930 669583700 830640294 965698080 699221392 771171442 986941869 166456593 522932493 875601072 585993708 630842679 612796834 935493025 614114654 897699358 549496741 393887984 829027726 474205178 846808949 873909113 336104734 109697908 862451928 561347522 746213177 843309108 600090564 352231612 299395443 878592643 542325719 751568141 522682841 299635076 765517833 840174322 872637907 693217779 951287950 795123300 228292354 323070517 639903560 191046332 453273295 508701199 840457832 802462249 633867384 252324857 733090620 718646686 788678086 111020802 326708117 326554218 450901821 970252408 891545323 297644149 720701486 387953690 818522613 327038016 993417037 800206152 930936185 273044812 811230372 964588999 974514053 992166539 681359210 109921636 992271711 886147715 856458568 723976808 244866570 889161030 263908641 477508824 119114508 633613185 520698040 173317499 305929725 534044698 520393757 417531009 328227455 278589420 280508825 609735731 708648560 314961151 284554909 132540301 358780981 140282622 521054242 801852068 826530105 668012305 595693441 193253058 915438536 206107210 531743253 737965604 912484455 254369983 682871067 379739344 138597671 753166485 143515400 562597100 134063145 406818006 648787180 942840990 898874341 810202479 599620791 608014622 557007234 542006896 546501358 408730154 410226582 435353291 971382955 981594969 761465807 452321300 415512004 679111351 963964812 328934473 254988355 876162306 621871425 629218228 255177954 572864224 602150017 822035418 951019499 992352676 896096073 406933297 942105246 633811447 769990092 349400288 759654295 568906799 667416740 101442572 946079587 333111070 368634248 742557029 336032105 210820419 725480624 978844136 219391060 412589568 333182394 767687318 589762447 848562775 755733488 511324814 573897379 756273155 499571924 653961650 268770301 952661953 784541560 225982019 809027406 514257297 636733095 164407381 542575488 301522073 619380021 224670031 995310619 494987863 501772372 876755039 494554885 399551793 725381698 512714602 481739006 441552918 167177795 314596657 434677292 416126817 456086618 288353994 395869211 953003590 189727919 690942833 881572686 333681438 989025233 581570926 942578060 434006443 723978261 364997971 827648972 649007307 809266436 870767236 147493926 941078295 823740201 271064416 973402678 829429071 915191947 161039954 946011827 959282921 535906180 280561036 635198001 653563219 203057697 988133589 816143108 935378076 950139523 640164251 385640397 277632454 969070033 280629858 515164357 643753764 912390419 365087548 141765111 643755932 321636671 241794673 612468213 545354438 245121796 896381580 285103974 200702335 729888417 197539157 683808441 192164072 437693339 409102760 532503177 231339558 266118772 278149769 981395293 787646939 543552114 242957991 213515297 277481117 428557870 956605317 779669455 260827808 267404624 538864762 757214966 706108023 875384972 245217175 665035648 415988908 323741272 413022484 286523951 753532491 198336482 306782742 478600372 751290350 565558034 334513354 671464919 279570311 722146090 476129998 765569118 676892551 632271384 467920110 635455350 147153850 254765309 693609647 781489807 676995551 837758335 705514712 706339751 936690134 133845828 553778471 256015662 429895201 719023740 674421691 936971660 675449317 752967719 296864274 844116519 364720016 291861328 310082098 455644745 497944726 818997964 643778865 377810237 576890252 549413510 649646119 619932222 108949390 897508527 599292457 474377144 736295352 430214979 402826630 923120250 329487260 391646759 990808355 684614507 282734735 865259065 389941063 711192653 838952878 486151749 934301024 869291062 494579404 897399123 187198042 375476492 557643030 179578753 312010257 689681437 496849585 587629174 836858550 484342789 794399442 193430273 575109914 372809491 243567948 775522201 483085660 215563754 890171949 841000527 370315812 809030147 741686670 263569456 477039196 682989125 952786054 429605810 369148535 490151301 106924359 851844502 785841064 399693752 689886283 141078908 504951513 751638706 123449832 940883715 570301038 426790382 565008283 564549434 179856974 434084090 896922980 720611240 372408144 454965536 504984947 885722309 341962458 787899336 108175386 372549541 445413499 707190562 832010392 316625025 450873534 854546991 573297013 952079955 850000242 290692843 229738276 246595848 956312733 610530047 213105103 785493413 634418703 286834270 891403198 919662634 992248941 256054852 413368953 630986692 462326915 615345020 349725128 741925157 854839299 211382754 980400955 547628674 896841691 751422264 607115611 630470000 107348389 349470036 330970696 341798337 148433218 916916806 948846698 645215401 302269456 633481938 541033426 341587590 463447631 451757975 821746145 314112033 774004811 728956965 303919116 579417706 695115860 568942523 984242576 282781799 122221613 163945464 767973088 752944915 776373114 701660148 374690854 130919238 443724532 358373435 187161731 483584147 376204685 132163678 115545705 106141202 545603537 834637837 243920988 246457157 526844311 718421814 280665621 530706694 653008556 427008578 783674417 406442061 701118483 509731577 392827318 150011749 535645369 365956364 700184882 666204611 443077043 573042712 265446792 248023175 765141909 814480242 205263628 809913294 227904512 215888568 738011925 299748371 217940670 605279912 247613204 911333406 417998810 708493562 619438856 970834325 415862486 188852267 493847762 596713753 284798698 509380227 444199687 269549924 284018318 454221792 710799917 453049218 913923098 781776270 341383816 645088113 991526253 585266902 162938763 585895196 111629334 156342070 160044868 415642542 952377292 892895481 449735853 312966028 565553980 220961819 357563026 579152496 519665396 294462857 613049541 828239088 654758495 158992835 886155788 978957607 425433900 163918713 985861433 909422039 450353909 540023061 827382624 779856319 484605010 697055869 187953428 397502361 823303750 976599933 915490905 145991739 710516579 808036556 684992792 497697144 642698358 395038728 470920932 699920313 864085688 299091953 296688198 499877093 169078168 490191818 762918490 610140292 941483862 907226963 794599537 748754978 804543221 635117386 116159633 806271732 475048220 950144080 166668662 242230540 561110798 582400463 501515168 625295635 455821586 411927182 190311283 652082761 431190149 743745068 823636195 243852669 449259626 232584787 519277736 827870835 932383216 362979545 935772177 426474665 958772505 442442494 610874277 809832553 455192574 376881146 500583808 460097367 410441002 330575634 717481938 707989126 880785391 590075551 793113251 662187773 654285144 810503039 884511600 649229313 894972273 172145334 417179814 571194848 839700403 187680972 803046639 624123804 190785417 943005611 261255133 426383523 400851627 415002982 538700737 254869789 641346305 887631633 991075166 471472676 435129208 564805712 996940316 279308326 447651431 447323169 956672219 238117436 331160332 492417927 557889661 657398609 748125983 680387177 160109362 580331626 893480031 318505625 295446901 217168551 154562174 641002997 787356979 573950135 148516538 139797840 822800969 564933132 220319917 809163336 694041708 674591430 593246931 335779726 267423186 969311167 537658517 673482006 699783324 477512181 356881668 141312851 481678629 595306718 221075525 479558804 874159348 655184028 666948473 794744224 819473179 324584634 277173737 841961822 826328952 477257566 164199770 620106761 357828407 500411698 469694812 286619955 926523420 633079011 425239671 436394681 845517940 389489141 875424004 314053031 556884959 824749479 277806303 527325564 721270562 698366900 167700365 706794682 506719254 819692530 889559311 702511415 849691916 797650897 320958721 159735694 741542156 361265560 576704405 393433586 188504977 582542617 835630133 974273656 128755083 541883070 598333584 758037098 807209871 632827029 625653178 291066977 466993431 337581432 598681891 610397302 439165394 437656474 808654485 499247251 793009939 941399341 239495683 594219394 705100361 551877732 139704157 363837772 487347075 485685298 456373767 341205157 966517579 697597271 995599397 767445972 671499385 694913340 186480621 815050678 584029395 162983150 415634302 764539970 237214227 897855483 500191023 258148426 722465001 340793306 421855964 622711367 906966606 872834324 149617432 610780109 403500333 944233297 965198070 971653765 783965044 401555593 254081478 723337213 359518048 436620439 371123985 525762873 884434086 921811855 258942090 109590588 172072104 217517578 599494396 206524654 457325771 818834690 467539198 580628603 507155568 413557700 372609512 490263645 890142468 781363891 255069482 475288116 207483464 976932835 811132916 907435094 365035498 381560753 631833007 785555552 327047408 394556400 234701085 973676857 990649516 629226660 919523231 177746481 585883469 282001708 482695132 197822225 395864621 535815038 373873361 113268251 540525836 464321700 108303024 698197809 654820160 799539281 290366131 612468271 388044660 402959791 757003147 754555002 879295006 746338467 659493198 948318150 543907733 779719763 731400032 778355575 773019236 865123258 157173297 815337672 263271901 920410860 933960679 772186693 784440920 395593077 199630181 498923953 810410133 680304538 436301677 518674765 116468222 723923465 981190743 933872556 963633278 607346617 500756337 365699148 482692659 328546724 768273178 919895271 795391499 205610664 595129444 614526079 405943007 430965132 926307537 607314010 835017822 776675581 227149911 776982232 655709277 709099748 916680828 231294466 123153627 891160545 624403422 226795084 126699358 205351701 203873383 927480915 206405932 246444935 540412558 960066697 210975922 693313268 532709157 442652224 796446466 205390881 149653835 859462421 507445050 866981757 435013909 223704208 632064408 144232855 650906066 635616924 707104489 659097496 877034100 104769030 740265756 864162874 441126433 288942614 103349232 169513295 258162760 830831822 892867628 975326463 431398810 504844561 885801088 901576285 945105898 327086039 235752221 445409255 408659556 302021205 243752625 249977225 800937755 256427106 937750848 361818467 678070180 670216622 733053487 538442208 167987507 633882398 198925337 338797710 490290503 125534805 782085666 729621175 337218160 623000791 606671240 539381106 288271801 646955846 371772095 481686667 743635617 550812994 709157461 185044237 207693890 235628345 956956977 601106776 653860411 495037105 536090485 734171017 217493767 943102143 469306447 978360056 712797181 121714578 427776934 177756694 675741796 923803633 375580622 301988376 848430279 948506931 753203960 246286027 592828365 208107688 722884727 881103891 177442268 476304604 243276292 164616879 230220269 184036759 295204353 728253569 580692736 510453827 484583797 571539268 609541028 652398222 999536308 651031571 288599140 739012146 910452153 730524819 218081598 411337579 649834054 560583311 663631734 390263679 819747427 724652979 499336409 123850605 884133568 761260471 443702804 272383668 194422792 500911232 861689053 959012104 996919305 225641153 955594954 489996987 543468774 267846314 203791295 802504401 207080271 335475138 537970342 368626992 234638736 947242529 592226682 452661357 969073484 430097729 447705112 715617047 319911023 556838756 195771571 987096690 506934220 711651189 313949677 957151236 841562170 810765190 680291718 196981610 772946805 537543638 220648026 937039905 295829127 202967106 826623185 320283712 348965385 780972474 834522018 696227581 815367638 192692772 613215570 522329007 505826913 301343384 809896556 334126173 251835784 133762386 520216655 290687130 248452075 890063986 830044713 838832389 622475125 992972663 959878837 418998015 138070779 492024049 817076570 858749148 121035976 210001474 546950266 373205627 458802857 938449377 949892572 503163432 519644793 704631749 795801087 415875508 121777603 930555262 456107449 337088948 536070454 576447609 809754668 541440404 805952807 574652667 174692924 943632516 289479210 755427226 134724988 601514291 229587748 638278401 461336410 989699031 672970373 783410095 822848654 751785678 572764736 935169192 400313150 879308054 375743138 857099476 281720860 186478352 945739370 145449060 576262691 568043020 950890046 255539040 674228907 386042271 728574240 564632363 826705822 324385988 292888415 398127366 428812842 153823382 606251418 835384453 142588435 748311931 194973842 240429076 222724533 392833172 288663754 888260920 961272605 958185955 722271696 795488349 226831096 236881398 918456672 381377404 369061156 580144060 209330503 421807003 822627483 115432811 366425569 876920377 838925616 370182960 344521749 649659308 852418341 800001424 126934052 803264003 176277633 502313860 624437008 749785652 391723183 268026597 609782648 733669403 701362614 732847432 534189732 491645025 863678094 127439576 896092857 419162960 260365943 928798451 752244741 527565054 870969295 396078538 733834012 715809663 310864851 236351440 815058399 697497491 329393930 851763657 982898671 609053960 912121253 456895552 525503286 242713619 169765153 331598636 690757235 844366750 909663099 301509886 379940409 174355167 176188929 206725020 812982386 216571344 601965571 344865913 298971198 544032911 113256701 103075778 830203997 411872204 586035208 876592607 131672202 825213633 806196845 341560463 318722933 450642576 552009990 404343676 773975563 687412307 807556144 146141389 224045086 849209668 253647809 625695142 276558130 669696600 316876530 426982171 747412938 625664008 337259451 614948588 860171318 769557212 385968475 268100308 540493629 319550543 948647611 476793028 563420035 840499013 426467565 386094098 716899281 876789582 225422214 570316235 564407457 573695910 847116027 491132786 425344039 810817158 557345726 154115902 666206795 261747740 800558124 600723169 309990069 842822584 107806313 166937269 412558579 502783131 107569037 215964052 836669272 726591143 593399810 419733921 370351059 779799596 634199673 263606031 196627138 117159347 353445255 832074970 760884105 930468641 478399794 862752535 272388811 647182365 561524841 199087170 463123082 399989984 770407503 840520784 682731255 155571788 324768617 826339498 312085374 797372073 548106179 842034736 869219671 189242564 188050587 165023468 257551166 798731673 654553574 980148199 820167898 988069136 528119270 708952073 526621935 249909503 385700688 910326597 607845317 698282301 544969229 553379151 879755563 385628574 862580289 484681318 587172782 717417919 494865579 514169410 131442229 766993560 359757948 801497353 357818878 914147600 170748570 352964681 999438083 912771678 269108289 738706288 863297611 961304028 887250187 325150731 453792897 161554427 860179329 261755574 133816482 906979126 411727740 274415893 966397078 451453754 124970964 694398178 766579472 557863399 448801402 537401724 834562402 295851612 187517763 705424756 720070188 837732759 468415122 118236781 379433918 316765001 612599033 953519884 632176278 484237066 121294795 652162951 333834800 184399096 852402618 932417957 864060075 786455602 178265172 459663964 159356047 411308662 107827408 113451190 935023808 536665543 933092403 493096849 859388051 511856371 613359525 709590235 593468383 510854920 452985765 428166298 494156874 122861300 532621986 638610352 516324726 426512500 375714917 913034325 500472305 605188071 349993304 746292025 446035741 892154024 221651850 620316782 848506910 431885920 644524453 748360683 654912346 781769175 528457257 173925575 629604644 332451493 573435343 539631289 927811641 288605639 678022545 945731964 305060565 209493327 748388395 608904220 970991181 877280577 847348188 708481171 221682626 319725964 246469576 819346166 382001372 643091561 212358579 945891643 935975740 791058381 511533266 847114566 469065357 354079692 864851451 287042904 892517014 690113711 945678288 607403431 303234136 959149109 836479977 358496618 865134244 605055512 234866652 709848458 868226777 889225759 201932412 823532987 918755536 888658045 994834146 158152252 705793192 798105675 286883537 265470946 112930378 184932113 433632228 107939280 953805929 291154628 881321750 117350214 395804712 219644461 360066055 934941407 573770762 957963773 513618100 630720977 623246895 465975975 522623798 656517334 593147699 330435077 846415873 316796610 156258215 549311394 213643658 418838645 492277314 458141686 469378737 577796499 514435901 711035923 376073414 546060099 616913713 713064117 838008793 691358704 433185296 253822587 980365284 768911638 620313920 142423565 376167229 385099788 891558026 851432759 650568782 206665340 473776797 657420047 889874698 825519281 102980952 887776197 473171705 424731346 157392016 232782173 777128204 303647881 391561442 659827314 565617823 493509726 189872632 623443092 968968002 300117820 745606990 142094780 359761648 268518749 341052008 971913626 926765537 203623296 322320526 538655652 108810152 756019572 588851035 605866280 647266609 236301354 156404713 211211459 477417761 681869352 143161989 910813768 239519408 716662981 484088300 217286613 168806303 405845493 364983228 306112068 628298069 797581434 481982661 803588930 678789711 613722757 261410026 244804889 724145783 935302672 524892319 417047025 351863892 719020387 437996842 858173800 873183901 770754766 361007487 557532943 801046177 350148869 171620504 322073239 265914798 344940384 866627498 836641498 490109425 572050804 848451764 825303614 510011103 988656709 160525082 707821085 966837115 502861604 686881418 302630290 149217706 599785990 250747903 500729137 585702405 971131672 634090034 646550263 406694577 823264977 590469343 160308493 125275008 324712775 742643594 376992314 467278259 312751048 655453782 769256010 199799256 536699867 448655388 408288063 212390585 867105709 141070852 634320906 509151943 788032743 838957947 642998864 708577234 565613643 812346730 337036859 712361170 327580649 218698102 169874786 848909810 456742285 822962584 875921781 979498324 621843562 785494543 330399986 753239323 429320760 512360663 586754236 760815594 907204109 177701592 313125558 239632042 171397169 132912591 166857359 704302119 965305281 290485728 324974512 781561107 449904674 500341860 386491050 695277500 294531005 247506080 399069364 287245349 837252423 416422733 479112777 962803136 542123313 662139663 202084194 216013493 376661915 382139556 467718004 179423597 655397177 387742266 198471820 527419235 342810993 491183338 267436063 506483775 262806334 797764953 610606968 203275854 510230416 824203187 185548010 435296009 177015375 269704139 343186712 162197334 238730216 232963225 883107935 261154397 492381342 506349686 587091065 260040384 322793280 473926304 979100006 858168778 358907256 815172509 882367838 330292426 550644880 820005439 586825665 497729382 751512902 140911194 852934243 917034524 772595723 309976863 750633332 606914184 372648331 755675972 988907579 208603187 639205252 879366320 658844309 583283831 783356894 844868183 620854741 861943070 786309594 842871633 800151303 983288121 671720086 198715212 767953824 259945015 121602468 461940878 273379885 299570977 200764276 493938616 993699111 790336432 610492671 613788762 113350123 841321407 927230929 429467999 944496905 747231563 494116718 606262181 619045047 307344941 148892263 610146851 242999685 140777285 699202180 909094317 245298672 559014142 591540550 213205053 246350719 604788905 248798776 773598940 765389284 618505354 613491236 782973914 664870290 594468284 884948057 324287209 482250343 768780305 210710543 776696317 896400114 940038306 850014887 732695956 975803825 933801330 557590560 121180208 396973231 417264545 779215772 590127611 686492734 649342228 278027756 303874266 134817254 800825074 651693993 102266600 853783196 972782852 684006643 141590802 332955356 806488865 548291756 619162628 783524625 945857089 283577073 263120331 715592626 900307846 417427062 932586403 768474815 419738095 268063513 895137812 581404796 246434702 813149365 578785029 149020382 612684092 135604146 229098987 715309305 415531093 976612890 745691833 976382864 386342896 846054570 711663312 950821582 436125391 651729770 170666759 340526760 738612951 518942875 848685484 668809707 644832669 578423284 855363324 906508398 592968381 814976801 745575269 181935527 324531125 131590720 346890414 621409815 987826430 167844763 743155386 447401349 286157758 730312518 426713151 760499965 311673152 659317254 724689538 501282611 847162799 212681068 912225159 911808500 870591980 794551400 356119202 593874008 470727108 531941051 161650223 910537894 473148010 521281661 878618931 840430159 663915778 931752660 917007945 134942285 219998855 607482093 933861238 915431345 224196334 234758342 385240015 717915980 711778284 865151956 690201840 178389318 743629536 525382496 789322847 728381514 356888035 245879109 368350967 904789641 353350086 474186632 769137335 512575922 198701963 315282210 886870432 650751974 192564004 861070423 532046317 194890516 112052489 483615263 604605820 250661874 998243335 291713919 713346938 518125866 172946259 680885135 397670321 544535225 388055502 115882004 330323797 115828346 682777800 587137809 224173170 261588115 783162014 166091473 549859347 550981033 130840037 522287322 990957816 727148936 518554794 300978852 939709183 889123647 546598250 585840787 279040723 509447002 339193997 606871887 585237368 542230029 842902633 927631255 765754422 898228613 867554439 671195000 266810932 520395890 565606227 950104160 254819784 942848474 615598635 366418278 834981036 123358834 270866798 175542165 156702258 110919791 312888046 986464947 870684857 773225537 831327008 930259197 437366468 906284565 116971290 882783161 426463695 197642221 966462196 243991557 113561247 433476138 589196512 162199965 614820425 329105485 121075983 739624736 472316318 194686169 244780901 249993395 774091506 840818061 285054310 803950450 630433935 377958805 220471770 315457478 596408681 775170069 877056061 413190974 460181923 374130378 313522283 827817741 846169323 720828708 377563162 604533678 204138232 109932631 625134147 351838251 216515091 464824422 280187918 286341109 904855931 935747639 303743340 391588880 421815222 709964887 524329771 406951273 538405582 794645888 272032538 382751444 200917979 692882564 177075685 159707374 634502613 553636055 880519384 578563923 615647854 739311391 905448796 849414283 523042362 586672273 545958091 143899472 484987172 490174848 733775651 294884007 551400322 501992199 678477659 381777199 825346275 447623564 523912636 829897756 240238353 209467471 298932838 356823741 187561096 141177595 587573302 649428289 754217115 610823858 701188229 622030502 868011232 642209866 288034991 572213531 464095354 371004996 244589341 518862015 712182666 592467791 919976023 503909295 914400824 700910638 111991261 166721462 248666051 827529708 559855234 128042747 962084447 353097958 744732120 792801063 319032080 234150220 241859582 580976931 615690546 322117531 155319818 641208678 384159318 701157165 975337386 591820234 635870948 242209682 122240491 908191381 314529832 844595878 121191116 805298438 125306106 237279345 916449492 456242915 465137651 110597956 602936623 210895487 269100722 135879026 133507217 641849509 102746335 335666606 464065351 222591836 527460654 891191428 210945259 344684646 497031850 908744192 627014572 496075006 278472059 985601840 746433550 779404715 709841551 104339256 201060069 326603512 249365204 713122176 407502467 777883565 456532573 355937405 928284808 950775450 864862273 526944512 459658541 483547077 551831859 135896826 747789335 408302325 568234667 709940868 106446877 754464028 424496412 763281287 390182786 262879446 561854010 953873440 199454135 828221793 962118096 981017252 622000816 385925524 846014790 470563551 732628509 735849141 174979992 121649243 412708239 107863898 434366018 937704668 174881432 430589976 761165712 729723546 544559458 966131482 976105136 831239445 963090029 303387357 281387619 103035686 829056728 439893974 978541208 797230953 974253282 822542151 261204012 437171971 602761630 674010017 510535173 484756769 517904079 561142086 486561592 808792960 395470847 569303386 781050924 693660136 647327214 204181296 536267645 163804798 717289620 194068714 815032818 263558946 159446477 863665074 699951992 735184392 715306834 542761656 906748848 889955121 543104528 770158764 980033997 714886236 132410061 629228789 395655802 726141706 240538524 537553744 757321309 522648541 934912981 720369408 795790863 659771894 306312022 842666964 991745598 517737193 733801128 643327766 100117204 585190900 288494351 219855695 272532279 817723693 147562632 746074024 595312367 462395722 712795161 194133989 406141382 385937539 523300659 514670229 425670046 406876185 239589326 354551865 347636156 834158495 899871577 674330210 864444817 446678469 328265426 269514023 348790509 726681375 819076919 499002578 707095594 221113336 257554465 303636083 926645897 952744187 401758249 971878878 512060418 200788404 444812947 717612220 465631280 867601665 125790137 578372310 606872203 117481247 447786280 325862404 371859862 417506392 501863799 736208055 702723843 912481728 446138228 269372655 291835624 279901552 574395425 303936365 453045469 593167527 488129123 960921181 934341648 130356822 681757231 608564167 336908382 868457810 105576731 165085600 427147842 168976497 234286710 981188901 156321516 679507788 306553222 681138798 654288753 878608129 331452182 995032383 794763249 720915193 364821107 371601474 986531543 553206469 672600984 903422298 948146092 122160357 934766713 789011952 710540348 214657015 722402826 263687943 145909199 905562341 527611068 338343828 794071759 362217498 578802562 853569440 434410875 777498515 105143112 205877153 604729248 721783655 397461826 401596129 477213587 940375320 262388365 279411150 289110291 174438667 837702271 427186879 544183778 362970363 262391995 192447159 269686775 341807935 155590331 416234467 493455737 898767641 867564045 469690973 530197742 441205123 358821742 440047903 329816347 541124605 225129778 740396426 126038009 909270207 878793070 628511797 626660011 795155748 831505832 579002148 169841974 979975940 576197387 955745991 205718096 172424724 603253669 675161692 234505109 152224213 502902558 499667842 655621056 268647751 374792309 382348251 936008180 650617266 480595921 385492498 725814939 719410185 698193930 623683250 157869170 199177691 678387413 808809163 691385334 243522009 908592676 191117368 113436499 881423146 751988993 158673286 543838416 986390478 799275598 196787229 747383937 563841082 543960366 964226114 796159588 342013620 781476504 561523501 984864925 452284414 167051290 107512688 661173654 915573758 656750682 136563431 731886548 976707022 420783459 728188449 354728910 497923812 387311248 884109533 553768200 831353360 497605989 191878717 520280870 872104486 568343571 363608021 201540720 429012744 643184027 780931461 709398513 436559740 152654843 978382431 585287883 522863283 919045304 453238868 117800648 750361541 704555505 443545927 662429264 606477391 873508900 409738141 487429419 720545553 307018331 756892637 860703956 505546709 681331423 234773863 728480137 324569772 666437961 231358481 792740532 548214726 620521442 123665722 953664995 169346830 945316580 812270905 336174584 101263692 469464891 210511158 141722015 491129949 810769391 729858558 857909483 924962841 580314310 473614221 773753935 709392705 117030960 635708648 720149638 137709536 705604239 333670561 751943134 986034207 339171753 413277945 641974491 231149229 692858741 463087751 123270749 777026846 458784977 312292839 643712324 787425266 761959012 751040858 328732091 655889495 343711823 228920098 330505796 235082057 421723740 279118628 297966602 620208436 882553487 996237565 546113825 939696721 631984153 447809095 367809315 666824145 336251150 663503666 102510865 372042553 850230099 178555783 782765004 650314919 875259327 888133680 386635717 835110746 470910972 917261418 687732254 774861719 842040595 626802057 693565904 777678378 152852326 393717678 546020401 557565270 320227039 808789838 429732270 700176154 387241141 973828549 429185350 222461112 874658402 603355045 631897025 658467128 969687105 321022816 949710713 574794099 557493163 516583271 284767984 382081506 706160244 287898917 388675091 693796854 664428629 669597360 415491313 143962227 262853812 220748635 556347965 292951557 579242452 909685081 709445931 324255661 750336833 172390390 954809854 168359661 256565732 811660694 388496223 857108623 565896150 947090665 198292374 175003822 911745298 384310440 169660610 414972806 735252978 790812311 727105759 644493105 493694564 587985532 155921783 915592317 955000684 706421602 897592364 591917819 279644239 899902930 332091706 113918004 862820476 643801642 657131337 452737072 663540149 838699060 788740835 806287298 783773888 748533111 727819851 473895584 373114425 897140384 508943317 738251069 425770468 389143630 886101205 356178882 399621481 730590652 475805551 623238186 378967292 242711954 426708821 762708873 662798376 572647268 115670073 547560067 526978811 313551070 512945169 817331826 658633000 574016968 878156190 162189673 265285820 251470400 733762243 566391425 344052853 556855655 119979910 974345532 466476597 192157380 921668598 767917770 318328200 328081971 302676960 901410121 706603525 677116746 427536891 694301317 501778215 433375113 656179092 609651881 201582806 233921618 638389920 273067818 744807451 132829013 799405459 987936562 766519067 356783530 957223941 231544376 505690370 371299276 512492358 407791384 290995361 361593634 633646906 600832154 622022089 673450260 149966378 876813691 308508717 576765371 504580036 594244006 171613704 807534778 704753939 525330837 572873139 338504624 622731350 404210482 471334512 508011754 510985553 821846936 861333923 422566608 783142897 514582976 835768251 465678449 197111862 225695145 367936346 975212200 598777381 971710748 344113622 258944037 962972719 409660926 135564272 530011911 624332311 934383273 411628408 909441938 751992389 103257471 332831112 264768812 480949719 208729976 265953901 492458291 465786320 565779722 935928121 141017279 154465653 747235769 467258356 184503615 872194257 603718860 464905974 292811988 809408040 932658285 337002413 825700771 113736041 236281585 114435854 131879194 923330348 677435421 461562821 295384242 452389581 984105252 249061079 822846912 914211850 648577414 495804150 215248100 792556630 405725609 220783276 373593860 169242556 928672753 810226779 526154346 324306508 213594708 180097209 363212827 648449834 268779195 247491430 956214451 225255228 492204856 763708218 817848244 409944604 408816386 690162342 850726852 774537607 821023005 642235632 405384206 125605458 624972242 732157394 241116268 853507009 999699955 578617048 987948871 623796465 896883208 634790759 808386885 766095434 946339018 733842036 353045013 377681979 963439735 244027376 979675988 166809477 466415434 180048224 415553267 528339525 820951706 320132095 636781778 541484125 702234920 265694038 687347127 536519397 823573696 308317627 443054835 173070957 180581430 394166559 412912226 224189865 196519859 402321516 628889308 491507259 779433140 203654477 181649186 256899448 655617926 434377424 775708766 273492662 503478664 913252276 963822393 583050653 990472614 157451137 948820243 951838763 252360057 149559833 199717627 929442885 275495780 667256516 370383223 985092769 809879044 299647705 471495127 533700058 304910272 377494353 602072714 802011524 113655687 934012550 285166907 894234816 833882045 243922915 295256055 358212349 494649589 448479685 523761581 173474767 161700289 377545514 612265527 159290335 129023074 633420859 555767372 898848478 998172252 375697165 649267643 583997869 381297013 113385767 942108522 414831917 961119250 443567633 296364196 736208209 343295273 102046426 675401514 606769976 463095420 689244277 780140924 799825347 138112416 242241000 839160096 239403558 243623386 260084063 774354898 754177814 595180039 344572750 538270840 132773075 912180283 825253008 634867667 805729698 485392934 121559732 240414180 767553392 248567195 861728115 864063967 312352322 445310684 517604377 375668668 121257142 417553519 103709950 273162000 499704865 877761623 982122860 692564026 199820242 110104425 527856242 258446772 286023727 818384187 807813623 666866912 840017244 201133215 763987375 328954614 668505232 829443338 276022851 186302096 370859371 162076000 612736028 627485518 625010260 216692341 515683865 379629783 594019996 261945476 923404918 728691034 412138588 283644310 239775796 833584141 392197964 894856471 570676789 158060330 315635113 483445456 663222997 812813203 329071192 686618537 480830238 978555059 483122394 323757214 586184437 285015337 796669365 619957420 538417770 535079356 108540947 421637295 536716048 178279711 842696667 743403785 829020311 849933059 869873853 106565679 885372149 437624437 787612772 620742711 133487574 263264612 955112729 229679730 810082376 133773709 325974917 241593696 972438809 688885906 743737890 106224887 241644563 160001543 472248438 341096947 702338747 432923926 615899561 394507449 295035898 836533322 741703571 215105182 985661837 463846088 559083867 857006856 251385516 531435479 552173705 350561820 432574526 204318991 571104813 430994434 380462860 374578087 212533619 844744354 484598083 791452253 404525042 201090303 286600056 275125174 931334707 653588872 402579719 671625326 943713734 987730792 791641140 667131582 993136994 379473148 302215199 799111849 377109996 596206504 374213066 225953170 298190455 270227438 142843752 707155456 336783076 876952248 842058335 685808100 863205612 771471172 419370553 606106988 573483490 260975717 471195543 814437405 607582247 135765464 987841498 745987964 603022707 310814303 208274806 858480441 648226197 842047107 180394214 999038954 748515370 834383770 810659759 496485650 789794763 757406176 967120075 935816517 773179433 682326734 927958597 985775129 957705301 370657090 729999813 404564836 585588842 798112758 793732344 890393314 415158607 485296605 779560469 165482751 653593229 900753705 923315536 342975821 647589857 934105195 698166707 889817613 593618821 690099116 852019424 644168934 199490192 872384823 230079878 572751644 149909683 552619028 365094984 596482944 628782238 884747301 697038283 392243396 157920093 800377842 891178122 734889754 442537121 193546563 287187573 826491696 905680684 876493898 422482767 666450846 438005866 522342151 276655269 610898623 239964679 203171122 721630712 637094694 918456833 123299668 450204665 350086684 569149601 433570358 783433778 676234681 880206214 949025046 226382180 787601543 561983554 533906379 637184460 179564477 977662567 364695943 267533636 698699944 379957428 675689135 646125855 533194017 580570156 232694644 770497231 627816221 452074937 209162880 739257828 332984128 958844344 937177648 360456845 305383493 427299506 106525592 186684340 333463928 967497075 599248485 130781345 119150646 346266330 424149133 878339790 951140488 473924903 886168823 448212406 228262864 713480900 914545575 402683779 776122678 741477233 563472482 144461429 535025843 289039147 797665231 606679703 345828688 523366101 472460886 118261389 261057745 744604126 900715946 453804797 424838978 113254789 985298395 450382727 737743751 301249354 910115565 368241644 174134184 252716928 237339878 193919955 298308312 395660973 185799681 720979538 185223168 521036066 920451911 416136117 405956792 709452444 789061354 407748579 544226126 184330048 308698785 478886392 835570419 752806441 340196795 867724991 701667849 308746339 781093223 581912278 521274524 957523555 420746882 187448910 898773656 127621816 815016546 777172947 106114438 886571676 322490421 121794169 741248140 388741429 816011765 122829717 853210647 456923503 854504555 592776626 372654792 568358406 265208341 775533247 673898924 945347273 616173495 215749091 470772724 551744302 573898963 833344332 177349903 351905949 263285283 513985600 672784338 855441127 435489419 424484628 319682320 478530973 961811766 350856032 730959941 716119942 232943121 947636080 116597402 102242373 424403639 986758585 543574405 795883089 300105420 235778019 875927059 847920153 688994216 100525407 268059367 603545596 870314581 648777021 819272707 712458543 146143940 168905529 218808668 271173995 780217308 327337343 925543236 564013351 683272452 859654522 495199826 893150469 358088178 483580718 174109859 798243296 932461173 652424990 156422162 636395391 781293004 397716318 633051915 295835301 245405059 180261770 193779127 246968329 178171486 187538966 934211542 151347356 667248806 465462710 418258011 830559120 750582405 701178454 171336236 264655657 502816806 190757289 703420784 641428225 928297264 529839213 410555164 194808136 732322912 249240792 182303121 832493880 544781909 196136343 954196145 857279270 921023138 225061780 633393585 518179574 761465640 492879177 471626516 105193686 809843702 393036332 759639130 918687847 172864779 592185868 292658870 809683991 142383301 482684436 359117388 610005447 888881856 632676132 244076216 223620683 957063594 804622640 629904699 892641236 616078183 402347408 480804134 678104985 333154378 374239170 813793112 140631731 149698765 828811213 629192307 883464479 833487144 316700299 906958580 978174262 477058025 481907749 163055133 647443740 198036120 591657246 313517228 687729766 608172784 583941624 642832105 796547434 540142843 767877361 246864575 234239912 715000752 466161678 376378127 352386619 736316862 932943157 328368504 153813823 409111134 379825064 495580083 471970610 902054537 825093533 854983251 399216836 490952611 799886466 592149848 178460031 193599859 671658244 933404118 461577736 281716521 818617321 219322409 957718455 455486360 946118221 736084339 475285907 135981427 951793044 538343047 491646942 503806325 309314529 380885935 943302850 314039304 689632678 870030148 591672084 820478271 359459518 180545790 316746537 236427338 659320286 534172384 895684120 121349357 367086737 942727586 213069351 701466946 443536613 806778536 672291652 876048466 617592340 160927537 588989745 394768241 298866634 983375637 966319010 742508934 440581028 503946484 876127166 572405634 743880347 431123132 579767282 415831519 718877260 643647896 797733966 384750918 344074888 582260889 386908692 689785966 609119560 172573442 184289305 963911273 458991031 573269454 123101774 536778651 426033229 569697384 338867888 738949133 729323994 829000967 543951537 413724882 613114454 938117485 417997915 131201914 703035804 765691820 134503097 141117562 632317015 970863357 652332513 523026582 484301955 917973912 687457364 115103353 152181095 941931872 234865569 453534219 677734506 362792012 447096738 493156685 387054137 556266666 544631698 468289185 204026626 332424642 922982848 823821201 600215473 618993242 616344467 768229823 942461257 641799321 335045960 896687321 333647560 594424821 942895733 217657716 620143871 569639434 976741542 311603132 749347459 425143806 900580253 178108333 826010021 965983653 495555122 894252012 929795817 522162088 104458916 544051758 803771396 716697458 863912698 940471533 948798512 660256024 913715699 636366322 392710874 976432673 842477493 662700402 877084949 771304696 185027649 446289738 674697287 854079273 378621987 654067479 318286536 310537338 929768461 196726302 728527468 200748163 946838843 493209967 377707439 103068294 910483471 545866726 593681300 187039078 981988824 996505711 157510282 237183972 277257504 611112804 357095307 824781696 405293640 499209235 647877625 277733765 244533856 751936558 794832475 794247551 878545407 968623650 470542066 444988742 453995420 910899966 698599159 742257837 350786287 817933492 115806794 911507608 691646688 401531855 136695308 164036261 525673995 743279861 122704115 606565067 670704713 872467138 105060772 121943319 114756545 727090485 916536956 551544272 794380009 474573047 712090617 360605696 589780116 491186958 237139951 496865356 329138643 804658894 718811209 360939860 663497190 297493196 363673978 154481188 496613166 116339811 753752160 449944222 570535122 236772816 589394096 416571141 871038664 241581663 924677763 959380517 242868126 328156609 470756245 598655320 100374943 352556730 670405887 910793106 793437985 999412688 338206067 354843337 339714626 561916015 497132641 961817665 283239730 730154050 212542772 443574842 192430671 590535921 437629596 253720790 585267209 647141749 802334160 923917332 229211151 252220425 680719113 394529008 246569139 660113677 730205323 314558879 267991695 274700489 178794057 534931791 128294253 309920840 777550595 279582570 802731200 207391917 146761044 501163920 560421273 949221394 843938116 491643616 395118073 632721339 198057465 601519100 595735608 910692690 218567292 596425190 739983095 865706943 414820770 944632517 600330646 452465947 672967957 703525636 134707343 616296476 367414098 631728556 521946620 247854692 508832512 407227728 722889701 443008236 101144285 403710197 489680986 814751271 558702914 350458840 917549265 344736867 156152356 348203003 552579361 206862218 937171234 237116202 757980844 148894047 437308923 623890704 104183225 761807409 205768293 212534098 273386384 128695968 787928843 132823085 211657031 225077773 237454831 660372617 513813639 524390330 926776937 594048690 270636552 400729831 942132446 633381982 935718949 850989973 368197310 314527828 101012402 732319678 737796948 593386998 450158531 338435169 298267582 772972271 138816962 154108137 603228211 189635049 243533181 440830553 155948366 852524023 687477549 560131569 823582067 560047265 980792098 180261175 388621132 253421941 134102694 450728977 977077323 476972679 904052620 536043381 123207803 319989192 746946995 809347665 356534425 336534725 671143820 305557403 910387690 560485045 323211510 202645189 593541279 712022216 548555232 131415669 256118585 181988236 589507984 658011894 432084363 582901865 919499878 634687316 398957681 422785045 238892565 620894459 732761542 841253570 564311709 756089450 140722184 245616191 393422705 480424487 689571599 766625789 299776402 524916615 904110851 874882438 848402694 395524559 365632507 366905245 819966389 485105347 158153899 971054508 803250213 642093369 159992280 985914304 232866796 338439530 367259907 215404057 811931840 389858243 449169093 128678964 326777670 292462611 514110939 462890570 580363742 904261044 914005122 883158360 228448804 721994188 264473497 581742217 332834368 103343759 688858706 918738973 235114692 363116363 265740282 646860109 822462577 264550936 450009401 948825376 165852520 592818175 550668780 463732680 420722292 242437177 641785854 977366125 499736844 822403186 557214307 215190848 723762446 986061127 648483090 362389888 564343867 610930153 700999349 411842815 350266596 332080222 305895826 754418546 752538399 300470376 481415105 106188802 482497673 844896439 214037465 975262164 186261171 427932251 215412071 659928730 996356905 832250126 956516191 792130199 618713451 428378515 915831277 708306557 582878360 491311465 886835767 180327554 370726657 217482625 766214610 495556748 239007403 431841271 915209522 827623348 285502507 687886057 628305830 231709734 658735116 675339995 220799213 709183985 866811391 487742970 396618668 573260811 288507641 806127194 660052953 919862857 579407767 326207416 536488892 320598709 858433820 605135207 155963781 547416424 107340550 219992280 460142646 145068491 537985011 742342124 842609088 996701209 367623095 142655117 912354816 133926283 265516091 227506307 625499289 793366416 924065265 182353558 395038750 569668212 370687403 237256847 376242634 284075410 979749049 805403299 115161056 975661403 936129381 149634768 785523538 271442170 424780743 966106530 989906581 696555124 579678907 699000851 145051414 461978777 481414240 854856593 653297697 985689061 162640689 951660261 784611475 259857968 725733980 182015171 646097798 212168100 569248527 202676743 173700846 947080684 882303734 616211221 972550447 790842598 320040935 621867304 308077939 238760790 268458822 647869884 602840827 426530100 366902641 329192350 156205665 128881332 985928879 184222139 571325503 714122446 474882179 647368544 919665493 301284050 319092446 334115676 104273158 472628196 871676610 618798531 839407294 996864065 216792923 171169231 333075628 986758692 192158480 392958072 678005815 636867600 402446290 839404697 642263537 587788626 633537796 649380954 301148364 417701931 217764503 952093586 431681265 450585113 543850784 987439905 739721975 608975706 254208805 227338715 181502907 479469188 451005184 304149949 190758560 825942899 226576735 147692454 195945989 211754832 178634517 360070972 721253497 165096971 999067245 799443261 561560369 535467445 405492419 785434886 550790937 666256653 917977787 832052961 862244620 571920077 210654977 415850653 192815652 724492140 567790901 135018593 913709774 682142186 913268145 107866082 464987438 408144689 817291891 173710573 217180712 362310627 639967962 778849509 402714602 962196600 160463712 268397473 113705990 548618328 291980646 117054090 924231191 780364307 293931671 248492151 476096219 694507040 936743274 687132441 843862180 215732933 670737943 341692694 700035728 149983945 793198077 818651045 315391360 905384548 580927038 798054812 336115559 908603523 401197851 416911852 565467305 300027756 492264478 653038303 191337118 386912996 882535822 770920301 922601126 805856540 224078312 127707488 364665027 909376666 705593303 565777672 728756350 269171132 389724449 812068801 658851597 851864504 588481909 446672805 581347125 892115460 388175325 551757603 579930365 703746034 271180451 599488574 484258542 767325080 870893685 214603096 713896340 248271303 332531180 684152636 698844481 709325847 351626435 156933968 187718796 399525109 684640991 411093202 746650814 908227986 565643059 812095914 891052127 251112764 253557886 630246687 720594014 512504879 326881622 932711971 456029931 100009934 617727936 416797601 388440608 480396312 369944435 170950853 788661710 414675015 285705907 758299064 607111561 216386621 438548305 550188573 178954460 615262525 299051571 790501323 333082062 971887805 658756954 484965133 400010912 303393610 179614494 439063582 826920579 964551273 100630357 420851092 492626198 244445266 481825351 548725395 868160131 859194356 658132541 213762726 948289720 622239085 434172882 695250770 850028266 826925895 415809428 214238546 828578222 905522663 471517086 287655645 352975375 956756344 746693772 561666165 109132192 539611846 190288789 212594227 179447248 211140598 980711469 848912113 590031751 657220539 628808310 863715876 226764676 587617862 214778977 368434766 584680498 767866842 130053592 767157477 366074393 926621450 690878591 737706908 706748584 191310009 386787702 989375983 931131458 134834264 809117805 352912052 801210380 161887948 720140798 944765977 393363373 218042754 330697519 245057448 323635344 721383304 177229194 151560796 173794971 155457395 118900771 115108581 487346506 155260782 816015858 826352538 622219110 221973991 735564208 682276328 399659505 476052828 687277898 849572919 428231896 678476543 305942471 801958204 828194626 207434243 575472283 604514436 481176606 664618658 623108624 501360400 429698133 834035964 773718492 445550850 305309561 462510504 772004361 842805135 984588643 410540108 469859514 906290236 954004023 421180124 443125208 455870793 912403703 209334289 571624185 582041126 885221367 100297615 331357368 677630194 864920251 806924014 511975422 451482212 904553017 979439004 764438454 673410278 238974345 206610653 691205849 812626692 514729671 534915442 816269668 209990839 407854200 787917795 454081908 187279571 710506583 109498243 671162412 265077710 204706407 815098141 744647519 203804210 333438987 625802847 223062726 830695599 996364785 968947401 151836587 332510068 785266819 329281124 117201277 434802953 955097118 475334490 517776475 116240609 868480564 440157385 691469352 492476097 556973455 573673314 747643646 586153576 457193355 597924412 863428394 174057166 874007233 791811366 881785119 600366799 741378207 315817869 338804977 260104232 616745836 419352741 665215169 515986609 761668926 724955759 843187437 581429284 423877028 697197977 622695087 457283521 597431796 465795511 831021197 288172694 480341981 294961056 323452144 708484371 761593975 452438155 918708126 544520939 970614200 908894207 666232951 674540984 362702143 959699778 264408649 815103256 548175946 165222236 779936966 248005711 543029696 714134062 201073079 759599578 144261857 743043936 110759586 607853462 110998376 410031902 922837006 385948906 304578870 302826494 455690073 615743959 302012856 928782757 776197324 796919942 369617127 356106847 797945692 567883933 781900407 267121323 831399332 785161059 694017185 296130323 920433149 880857769 243498971 647262104 213736114 906009863 688411107 151273388 720898944 268483267 228438428 886804729 720822518 854463045 222019960 795009663 151555637 842639728 378716094 237666257 525847321 729566169 772423426 483372453 429676141 300185152 189468834 275654000 922757381 796600767 609487108 427639099 804990548 506401268 626832299 872344109 722051464 552182704 388972117 134830059 530127727 768581456 252620621 852035002 922403820 313773072 587802112 195031677 434630031 290641339 267211309 573405972 860792643 534453705 334480177 615284292 691799549 101795236 309292209 534765015 334255865 226584597 639466337 326617178 407099644 452356929 608153865 776042803 528944830 886942001 404144185 633803193 314160504 413145604 780464760 185834407 711847528 814830970 191532074 513779991 913748039 316223045 290375449 768238349 708652437 400079984 387012824 926606629 469440420 122467985 649009849 454110936 433018539 255932890 499995660 962422848 673760906 622990180 826124451 542784807 864832763 222870320 621255373 555362818 397109651 346072907 977435451 763320208 598628600 875037666 838446919 743343636 687322050 968205063 393766822 235335376 963378326 249775315 427894270 294765325 797926322 693957468 524743306 913900765 614551313 936611530 656794173 687654776 517378434 799334940 480481712 738500337 589037070 611488465 194662227 415471430 334985097 997222956 737206719 981014381 842099585 755459209 612497378 707330497 569950144 893848524 598725127 960721086 363474233 422392458 515465505 549359466 894071915 602007161 561439637 681790771 753889831 765884364 899345985 500603147 403421158 521340325 691765038 693412235 317241401 642663577 715998986 432699151 366118369 248383323 478287349 599740463 805405448 772321223 416143550 673730335 190604326 378475048 642105132 980314367 430456335 742833254 490426689 278908684 152458491 406307659 742358383 972471588 715058374 242909484 826828753 751612807 702880531 531908909 146543556 365572781 910839403 941559232 180372190 386236087 318722821 933136602 172242071 559055917 722415340 249787765 757399223 196646535 445128388 182206839 735135641 324272892 872208996 230279425 907264421 497463766 296122612 554371499 556011272 721125403 416489835 775088751 391555247 616326045 239498506 666354327 540939808 960882535 258370679 395961597 996943626 670172065 293891602 291558017 198099010 250694623 847707788 934210302 632643755 857875482 333961581 297815728 535350277 396314131 917614568 572926191 725120836 634255003 213446706 954949307 293221761 967871821 802877981 204395759 448847197 451269761 804718084 910811431 586699145 178774507 882622102 689284220 641129866 620487005 223933873 330923861 910483134 325311514 940978265 736015424 826109515 937731497 894577704 887435840 171697390 264556209 457515978 335486832 581860242 225915228 779477187 118692185 179038678 719158784 728073237 928895552 351252832 471404724 271960513 999481117 849231802 213681551 799178423 911216664 786141781 100729466 282814508 531561913 132007186 525591336 743013652 252916169 381425779 231390606 977846426 466778735 661837276 362970606 394794048 611040958 343850815 982444525 742415903 212540094 916669530 741547621 474607006 178673434 588005913 469658053 624296285 214826684 922759811 882867897 789497174 525985687 309063975 387919632 874059824 553303151 586148739 483277267 862378009 807870102 600756769 451535755 173959763 565906559 530318014 352752995 759817141 776587966 114533960 996155409 460762613 255017795 114710837 788601243 500532776 331496257 294690801 865379291 333143969 444584415 592320060 448753608 259010393 703206780 385164481 277255617 159748721 578561982 865957484 951930283 675447499 207968483 540306541 225672802 169388807 228894706 678101134 105125011 759692753 483677073 254735992 898675182 363539829 887345377 360174632 658991335 913207163 204288253 748510177 354894854 276602024 361003377 154654478 867802169 173768005 901592865 631204012 303971648 321254022 881558138 946452044 372935789 262697022 501798956 401769281 236759212 289487714 659534278 697705597 261602018 646045099 866665556 410642098 185016677 706740402 426848516 984877391 284227949 240568321 235043248 370639204 643663437 701846956 780134199 363213605 251527221 742976857 113379436 222631006 305504511 664272629 219068973 152124710 555558222 762238202 748749529 689052434 324072862 935668999 491147894 164443688 845888063 578261765 787228673 711599499 908231884 411520163 522145151 389619341 979455797 300233695 708049570 797432775 393377133 515225089 352336842 257909636 964981004 603316154 658170738 574021204 497608463 801599047 641537044 451862446 507269828 642914370 742721694 762120348 945074631 883816212 815193171 737193104 375196970 672620359 510420796 451971305 233606882 415962212 425206674 198130305 331533241 378565644 981922357 468407783 715756532 158169467 413504816 363999893 383554103 865421821 351325886 437344404 652346034 464390817 436904013 190496423 659925364 447745704 691849231 641012628 596856935 415700292 948423515 911649365 751290220 889595640 363180406 888590285 677606273 500826454 486456875 354605556 389364028 870676005 290767989 616478135 214547071 414767436 918489643 554790636 775540044 967179956 107521062 586333695 711432752 646958562 717280918 896443474 523774525 854680602 514670089 905431064 403995587 552172317 648671658 825781215 890825815 845002684 774713362 149677614 583723475 684052723 198915078 809327809 474484794 106786954 904036672 572237706 799893862 358961186 711352835 557930922 826361108 398178988 547917411 800657656 137163049 269561060 580257880 664408437 588024205 699837923 199741800 735189493 515937857 279242366 716890018 616913186 327187805 686789717 810937418 334674334 284687338 795634863 259169188 633678896 590325073 315120921 504380052 756096711 350917769 307481772 264648800 237044698 948674142 981996844 986624255 596509178 651267921 773594438 441694486 358064961 115938321 951777104 988239755 790019294 571968974 713047916 474950755 244656800 788507226 483772246 221522222 263072370 919023006 267540026 217377258 125964645 902249157 256747471 336335318 832165518 428089381 984902306 278670515 737560099 222520237 821232818 565031381 561176820 845130274 148332558 274144141 513991752 803935851 484063908 383550297 981041234 575016035 626658938 505292776 267774576 522000133 596567456 447923110 556016511 403673338 683347152 815732020 514360291 533996164 469921776 171362883 719795617 666073409 992019497 797148273 580407803 239456938 124362885 697184871 484359859 179583475 347449609 790797259 653692557 753007004 218895395 392781617 478489012 756587081 251899274 779497768 702312758 729349187 113623575 434366410 214605446 523494878 115461496 586134515 108855454 210492088 622307823 547944965 400589663 344216962 350426605 311500631 380685932 435397017 409684188 560681735 432275080 943874396 676225054 497900680 233275688 582167484 301943866 273586648 516453855 210618100 712763835 332063100 174127494 923615632 846591582 346020712 355750479 561239922 925152257 739057771 254221868 776798387 262727267 828558706 712045178 114694970 253419186 184320390 785549733 668866579 547717352 372314051 783278305 560145268 652634359 952711589 924452025 561791697 573523059 807072774 230554398 767374466 952752913 585048218 656814689 358762436 262048089 266363956 962558503 602876842 228061992 307340532 390122414 211454010 905579750 102544938 661221319 310605103 482649972 115220605 859925695 656122030 491794423 941733794 901943750 191243912 678253270 687200584 291755766 619756104 379486780 844974127 403292345 945849374 972219027 557525388 359914023 425724882 992414075 456442086 534939429 253299754 441162646 276138337 131520583 278374761 902273693 989201410 216004897 767079635 670302591 352298914 654248090 158747367 990713827 995944155 506461197 492877666 130370512 573039151 374645501 235990663 174592201 581835054 120750130 772709751 668521173 579434452 125751409 572694012 815726662 589089120 408590370 516036412 982291374 502279934 217621033 308796510 811374214 109252734 821908496 967785300 479691771 762666867 830506817 183093292 299923698 365915146 784977872 188849666 427133119 711553672 230321722 392436660 631020809 569985326 365618633 776480900 109326860 643196597 693582546 827453827 233983909 764371328 838553828 664766555 958670274 974863503 555049234 402775409 222361862 539096436 356528133 457549128 538343866 895067062 420644756 523306356 565837322 806768445 125012135 163923342 175368339 169242878 438236923 108308711 364250220 253740115 854490238 217760367 573215252 904050370 798813044 544452293 403315741 619746823 802278020 443609531 351693501 783837095 427633419 920470295 936572181 116398792 132723160 419403958 336072874 620932455 680900513 113472840 163804027 809628596 582876971 701828889 493565930 380174963 597169843 484570998 289247194 637079976 693756232 334178576 455553137 782064601 709977593 646919977 944902670 950991338 205306764 647882343 487971185 430195708 986879465 475478840 383643541 836980227 857380398 112826707 102252274 955916105 775441367 698565968 536681355 630348747 156908148 900259441 966634133 969438768 402670662 141576947 128486802 435703471 284226434 256240803 693551058 588364190 773703361 256088410 234813000 878543338 440525320 205458987 338488430 858507038 604392194 915605649 246648023 619323762 405124008 773669235 898032606 117251160 216334128 346677513 357243257 109847882 876292318 763511113 815002069 502459285 651069313 834075450 545736418 218341044 754240739 524846069 531051885 372985794 917186428 982532743 265320700 967604076 258172419 751670072 867140721 100857611 311574276 149248666 773855936 797153938 327855618 119822674 611089123 396056596 888642316 194352576 470959259 930377786 186638781 182976444 912245400 609651410 282417948 925282062 386926158 206479712 927058928 836499647 544412666 438660514 929209874 879827419 599064747 208100929 442185087 832793832 847368729 880662198 144260303 555959265 434090384 532093650 462966920 778312694 830363562 923183214 429178777 877050669 873949671 185084286 356283395 202243213 944373212 926773087 300001642 382103785 837616521 486583752 993507646 261657678 404915520 181259188 906811523 707970768 244362057 361153554 769319531 952239406 366125580 884151155 842181457 492625759 559935229 348029261 106825103 417230441 324987431 328377479 889209516 207475881 496475307 493563670 581264945 888725018 105044644 193212958 569511008 465510958 449973259 714125866 366173458 875190957 325606048 422226012 902552971 346330123 493819823 231626835 198692722 939535119 640439594 516507784 422216439 176968583 270892543 791816338 972209478 758555395 923230770 361559386 815484506 629200670 168826440 798965149 593907236 890972867 451402467 590065328 484673004 689707343 346255630 674655058 994689173 189855096 590753457 177318730 296046101 384984468 418676200 853378808 109193069 395785522 214868944 642333701 217014747 765052087 366191436 421624149 824190260 408983251 252266826 153887642 924209491 992717823 612222905 862590708 405025290 674627913 764310647 586089862 834603277 376447333 967546120 623782992 206408157 868524847 853841779 354539527 621019215 678003288 201177384 481218203 323901551 671899373 729217216 848021456 572684921 831603735 299896608 622973769 258521759 945484886 697815714 322414887 914273901 544365271 478713783 980025349 735769608 455395217 273642274 911364917 115978535 332435522 480746873 409192757 248378740 590238196 973265265 891476402 196132985 118865362 162245900 591599909 514551622 881572229 496960290 706180889 338193781 954559461 306667942 713760084 186745185 135342587 188000909 513300234 830331510 478317580 481236116 863293832 838498979 451197680 867741157 962636174 130235744 460250883 719145367 871466626 545871168 983764071 541663552 698179047 229260730 635201844 797410484 859511815 858524291 213540829 416776386 745422143 325448044 943054929 955535673 380869633 430029355 327567456 835993414 576994466 913635001 288280944 195907943 779876279 149204472 562445035 236086058 919232483 579443812 437226240 518504022 643209461 498608730 325367230 711955904 728626114 779226853 184417949 495512021 725842667 679362698 200374379 881994923 219088493 276561871 404495077 808610737 377038552 957454599 833300712 759169285 619616639 397690555 343545157 364922616 980231341 794764017 269554209 953239348 886298487 854639925 720236676 659105773 809542750 196655368 424005096 672042811 253869399 587251502 642954431 440507540 245552565 497531937 778500483 761104578 884279057 417425876 676475026 305505096 479180640 386787537 945248639 256157026 951773178 746649317 193006544 666367398 912751330 770978830 536480514 310243264 702645894 756039055 158704893 775200240 413086446 444188031 652742215 354916382 139636892 348781871 399254246 263925210 896128216 889163105 592574790 845185632 627942265 892777571 376750640 619287569 337573238 866956299 615706212 805138051 500775873 644826207 302438165 827532594 564105324 817254060 163669853 929590546 623521541 500021232 922175487 686911823 788086900 847843049 643286277 762585971 747395016 868144177 444127097 288132553 369191068 388387395 504730952 673784467 186609133 601119435 697175959 932418121 326021242 428426147 594543488 388189303 472280911 136194456 396917680 793904420 971062944 222176442 267529435 874112174 406326983 242095564 302151814 475183146 451403637 961445051 251528468 882046995 223641109 712998629 904049828 637704061 816936046 100713712 511393365 958285427 975241255 444959550 371526403 799637769 282556956 211041137 660033493 599200243 448134979 266232358 296473537 480557113 780618895 640834296 765953923 999554643 139928113 318290748 610953920 539295584 714605102 383216203 934603683 192107584 803997533 835619196 445902852 291651748 224335088 766580992 106783860 335326549 384455548 241669193 808594810 863061476 608828119 672137227 424641510 657046990 468970857 499008769 812492224 953112571 200975347 799192624 609747246 382495480 155188902 963535270 452156599 921413562 667168209 306740390 850556769 664231848 525012665 610671050 774969536 616026677 990455435 703075337 797356760 240947404 413202405 804745446 573910206 506205195 311147165 955094490 876267781 985968077 912648917 100017767 705019816 551968063 444988960 139331162 939809233 672094789 536805206 110785395 898967077 801711728 349038641 837200221 201276845 254295825 170517524 290616224 128027816 951450525 743723982 137214024 751033166 620190341 848990950 497308138 920555649 879870414 354135979 610270160 671693192 793060735 539622907 658745760 924491044 660535438 217961611 936262593 729071731 144000028 491199145 265214066 208754898 341470697 150131100 256236774 358152820 757687482 786081801 138485789 700819601 341886959 964709798 698438624 798816086 143134022 237796996 792029073 901908979 518187722 368125583 815402463 538663368 969613220 343562882 324210902 607812609 434850936 890180614 512148606 288532430 690879339 244080523 565732236 330522796 744177819 161933036 961071964 377089640 806444770 695999940 821967782 337312237 118243570 992426128 759309395 632073616 887330275 804899386 755650940 921012106 354463368 539554380 146244003 943345089 157333113 501304802 353519481 555393268 802038083 761447253 565461725 510294046 439473338 321061643 983615081 775721589 571835358 227780875 781696220 540464498 140279474 805680911 961349569 772615436 860892298 963835048 135309306 242935832 184859595 187657618 155413478 841410402 115889437 934668529 591483996 626913112 149330247 109101568 359372110 196958840 108568440 676633196 743038342 294554702 414762342 985929284 747968651 893845914 899449168 415420316 470766828 587590608 141321924 694196987 724010044 471466765 242560806 868575203 966625828 879315458 936965112 518741544 703283293 703948048 731603184 714357494 584644507 343536572 943525079 813267519 576849584 417806315 127587358 926263715 271895565 818259554 960947807 246871957 398235970 945205350 835643344 621539280 730134801 926127762 282636311 548870604 500978852 383591671 453246269 228800189 215676758 124086523 343632276 268148690 123975074 772908450 194124465 369444364 815926201 191206858 209505709 327401692 328018053 953335206 714961948 939188735 265033321 246167315 480760779 476100947 142991301 812198004 126749746 942748823 937873535 356687668 390506634 284189251 510014103 756576542 345861256 267801861 765891505 433006059 877512262 215265469 518209184 727573984 972420360 225483418 876448196 642313621 439658076 723873714 264277571 516404729 489065609 610707298 495890545 154135448 806465653 231624587 295768720 660059995 269258605 256908762 366319654 566391865 443727996 523687555 314002654 225354617 643671709 171297264 423543378 521679977 419360092 635452650 694678190 555661640 534560826 970263220 705394827 935314050 379968284 568522882 909212415 656286797 422880692 449495335 406425486 640635579 876775260 245847320 245124355 441958633 496908547 197938736 430856524 309762076 706799361 127725032 504256393 877406991 179707565 103347178 887437696 165124452 889318687 691034839 701107349 142604573 861609040 169495322 232354141 551052149 168709692 504733653 635863814 127809388 255980119 953402188 357987741 237595584 887274905 816698828 851306365 463948890 312442313 406121863 545839076 147921896 684646706 583532232 434836373 339870841 545387618 581538614 608481553 549053958 986563969 302061595 375248911 100189278 657457132 886906974 739912190 918423074 501371145 208714454 112711626 241823517 298973667 521875658 903343871 211023873 992949888 877304821 486847154 333127393 503036315 260752762 324252792 236897544 542297046 763256795 886821323 620402609 462404582 482111704 881503608 617868370 906316514 410132520 260018748 950455033 805732703 733678882 520363416 358495302 673650528 398010484 478569386 411838085 931970848 774397884 746035464 939377021 601248893 642448529 479353455 524168284 578668438 160610035 472697649 297841525 180081820 896533793 359992430 167121837 318530021 113141358 264113297 280996022 460835722 396076764 768485719 788833796 733514457 208319354 605731011 274251124 165311279 824289676 547101745 931274412 160978291 790451612 622497603 502117785 513770118 244591918 464541646 741749616 503371965 694964604 988392069 901026908 492469517 873099928 914692828 805167875 950866886 696878283 339427430 271395124 938317152 899963636 565636070 578087638 793851158 536386049 380285988 287397911 592515134 267206260 904604874 478215398 132186997 817064932 770379277 418170474 146766396 342353708 310000065 204188185 823986853 146183867 600276968 546962129 855712163 474276478 787473360 988955981 552084920 588197587 258989883 822005339 684728089 391486886 513581368 426197366 294176236 744862836 421458682 216840625 349416106 937279584 757163258 890282377 771370224 916564780 137726749 784079809 836876128 757633653 425208138 236887910 509101391 631270027 446991946 711226667 467650181 579513142 989137586 726290924 259531643 836836399 777956968 736215974 399136399 218691664 243706370 327595182 950908692 251105571 386368557 864717114 794242299 609615075 320642875 211369448 563291178 570990314 754058493 460138361 941048682 955096862 439932260 245083521 978629203 157545848 847870808 904629287 271413567 502454797 716180570 656612361 909139816 265131913 329039102 213264237 767497211 154298327 380122109 788725371 541928174 404268194 720538601 744471473 179998746 739602996 170225675 927639074 659280642 151179819 202318741 415578972 399635967 796297569 920103356 340239702 110553797 201045961 146370397 544032984 271964559 543228617 315883113 220851705 625264649 812029530 118527573 623287252 610686523 278932124 502851412 523156851 706120858 690549181 785135693 180884400 676603907 321453550 188517061 623595596 890393721 850277267 243455486 227422630 371995692 240496849 318671526 275986433 649172182 121868896 607853683 729989037 669891664 721855803 788788187 135747861 525466747 345323625 842498732 498594412 275648544 182878860 533021158 348050681 280728977 837010995 681232018 830359333 417893191 900387453 220462491 815048972 142413528 167091610 816668926 256692872 384412754 769316364 981767606 581130233 804528514 785207734 830444655 211703516 543449603 731264936 430211020 554087570 531206387 650233839 832064774 610720243 824516698 491953932 702183586 502157964 192033832 885804567 776596546 708494025 795460558 142439016 302149842 753137697 570587335 713336751 362786903 384493470 345643711 486829843 302689149 588179106 861760776 726724456 277314139 310414612 367604612 210239143 852818933 831610747 841604480 858367992 343965500 638013126 868023472 848678267 346748236 900823121 900769891 642180058 250536168 481650339 494770903 596247569 388561620 434883510 105974194 298093891 498246741 432414142 424208709 233325693 264116674 327993476 802666115 233623703 486332136 848681289 387588358 335588058 562267314 625234309 725208572 171078437 926398828 618250840 130560955 235115500 981332392 315200024 942830112 388246775 185009323 241821047 785925174 959729198 441289926 272711596 371760476 181171601 768594880 956345722 180613466 566370710 897104932 155234647 756134912 658497477 658638645 757936246 892199969 160215421 563156809 490225823 877829959 355950535 958836563 508918385 104547247 736948940 141142424 564861921 152647851 964732993 852106493 790135059 304385522 642693886 992343355 284048722 193913980 986284534 820611975 560650604 960986515 351786823 964386537 624786262 921994316 530245747 708907076 203468107 904359438 143651349 991176782 447782190 603418541 972060367 684105856 723899675 587568928 132192843 625477388 939280086 827863172 760685392 235432129 643400372 154837698 593183530 231036237 372111422 957733700 725320297 722440306 661432256 430781081 749298627 492675170 771459494 815683368 645035807 284560218 304317990 857164170 129278547 905166934 546525438 541354292 999413970 514877373 954596759 458080862 680881821 414597417 751275137 382174764 866135701 503966933 651358362 656337845 635651766 428359590 781378237 641389284 430922773 901206150 395224068 609122889 524089852 698930533 542600023 438216638 614452691 610274710 572733068 420120236 153154343 449107623 160726548 244190753 477024993 553779974 830681989 399728742 857973428 612778425 512752421 665438118 161073897 482673800 600571709 101130416 313225839 926525389 741946377 176777284 159802433 465524869 950483220 823468606 799876964 637410275 808061543 649476214 397922757 816813529 873499098 943001819 644499089 562356091 162692398 689776324 748976586 524226701 505539388 326272904 908911669 706689365 550546685 230889330 121994743 923328238 711475794 456456823 496416413 955927120 151370067 845077134 394297679 860876446 577858914 897833533 824722358 875535797 317626878 501045016 124498001 125864192 416897040 127825737 313561635 851352798 763529443 636211897 217247773 904147682 372825507 703632685 838338279 737118646 193048603 634663551 421662641 604494840 832173775 670668575 581188118 587176902 874825898 365425961 830237625 972805447 528997157 713209000 529966393 580901081 126429018 362203557 553197703 807964440 320790101 944792834 477720168 822366166 474739007 223081000 852097493 580078308 875971271 967023011 795126247 260804716 947267680 774723901 638789519 786910178 932034663 430368292 617827640 333694147 499033107 864584799 677300888 284951589 769186670 885752072 933547746 250220096 881465423 292997493 856809259 420422026 101202675 419011220 595467784 368646445 686210784 569046794 451924530 482416659 594097688 915457521 213042203 207890079 183879380 198920804 689619952 762306464 162914465 916600027 591959913 786266873 455304284 285017994 698031183 426064190 460731808 986913838 466460992 286996438 649773565 233104067 220213309 738874311 856915899 233617732 856458645 107853767 208790355 735475562 348169957 665877785 820495720 201820265 370167507 611931605 493807803 505560601 701931201 147853552 489984072 645312757 484438182 235044961 717656967 414924488 541945165 722650612 774019092 681672220 321820236 403029008 807223436 726052467 188129886 529333945 984107072 433976991 781367658 514955275 608458209 361640352 830674340 494351984 759433138 161018392 862511400 654157776 967791212 914611895 342688688 774240698 140507303 756501477 912403307 736675409 818077113 260738870 640733557 561438246 715835099 792474746 830441220 731660010 604299734 824712923 204154096 627797347 389938909 155240160 429412433 338319785 571028947 184153160 338684601 376414108 778645116 624491153 293700404 106298936 994850389 996990520 901008386 676188913 850592636 633714128 840748092 243229653 664035303 324834716 779975631 599760438 919199091 528132173 156124544 707248432 174298963 395413666 108103128 749520214 390199477 893870583 449365788 177183067 497171701 199332964 983833556 673067188 925922527 836018984 342733050 258920689 281389606 729842043 444905477 456095420 868227988 654034092 546061941 445754672 894460776 991544374 651324146 783926646 999122645 520696357 842942894 153980740 904493738 217571592 945205080 348844555 778323293 350849046 787427098 130316440 531054653 955850345 195026664 227393309 195121270 709947499 383139288 743773906 922123754 949088908 787157773 275371733 785660554 993691547 710619381 707030460 169716401 418435909 498984235 603323355 960294925 958184025 115484897 556005175 653669062 823110235 991364029 280380682 518724792 312439116 814273812 709169900 873594927 695762125 865482040 306423133 333510877 754783795 666659063 397329650 520005033 236156378 399038183 115710422 218470598 667953115 130139193 352793185 373692818 534022324 497133941 661865845 114858830 977263335 728520044 127314161 475991406 632521950 195299628 157354347 975585192 768156798 813905044 712430499 706419798 530954801 242185358 378081993 882548231 969027089 947783841 672714374 774526405 190578459 705648150 876281632 540229488 707218575 944204459 310351105 624363135 236349399 822769203 479116983 929631708 802212917 385893477 876020177 215659637 776433252 995271283 406930292 688233815 966444379 314523232 898177570 215630898 867833875 860109924 374392819 107357857 222125672 883735868 685769032 207506715 273807137 951978060 705906660 742545715 936867397 802934290 815255251 170018636 834097938 233850627 537955864 583040101 409690365 739692266 528494894 442042065 635973469 407714685 883192957 948881645 975556791 943728163 147926788 180841237 743478172 552628139 650569587 448297305 115804817 522955010 477383421 807579665 599194630 344360780 362270999 237248481 959213898 266005067 531363894 749047501 468478413 484034167 457878031 597968570 261832855 288659976 990990016 808272690 760033602 651753216 750809545 217914911 505585884 343097945 504282681 348961721 406514705 650053718 837329098 643126528 815001423 857405948 572752061 694760707 115338058 687438888 770464016 538842754 719735547 157732234 159791425 171898109 720584154 599293358 890336176 508033628 759058854 169298366 579535367 660398982 141689668 227741628 756501873 741862882 270871313 271055098 357491199 759292859 159508256 320698304 141171315 635933909 829394809 647119702 747538690 367214207 420122171 367127054 872852805 874103242 664213975 194708384 910923928 500539706 362756013 299584071 322962847 382645329 604989004 964974119 637368416 442098229 356041290 171624303 744529716 131184300 560073704 384873587 444310454 705245011 725087511 743424412 435373428 393447215 518352096 215140185 799198406 867399733 721178670 911218294 361732100 709097592 706165843 945191539 898297360 367278678 955842700 297975268 713792416 592931809 102164533 912245589 352865583 707754960 137738102 987735661 932369634 286299738 726126768 497801642 786891238 881184955 634454745 988237478 723040371 996583303 523988648 457693835 656158352 842457437 372814282 349837834 258568647 674227895 749857950 709448002 617924031 675175788 622275675 893220564 705100307 418948231 601143782 896395932 290490508 506597565 337846106 975240354 704166121 287067472 110190368 942140519 563729689 283691562 237703275 122587869 187487813 660966053 421479883 463196637 241729472 882713634 225955777 440792969 852132720 658779437 710066047 254326495 297602638 489698052 285592002 387916751 130882021 383027386 945067794 645316757 716512579 674819160 621953808 581890244 986759841 683514816 176170779 779770881 533100291 513035931 964785918 293066000 670740218 765705889 796313038 665063115 803866912 325181859 783352142 638567817 735479968 640169190 609100674 490147696 820812887 279846533 637273981 834156970 119479273 773289329 579975072 206866640 585763882 535261225 845168558 373103947 680745411 849636143 625334564 536991545 586909563 647694129 628144698 993022059 386307174 704939690 745374946 336652879 314759632 542467589 284399158 393683906 421574422 691314497 922932069 917621982 966785837 368720831 164305214 568311884 906064279 315773744 768345203 150863966 761499307 330998693 371977539 986450042 165969664 504392530 737862395 177062378 790751707 510526303 793295842 487222446 412430186 164282371 123558664 663107383 691628460 983776455 474237145 573646043 282648022 583515458 896866950 120285985 733572793 217286223 895053690 599798525 954293658 306812439 241676121 889084806 808011926 210274867 276058249 794967669 632938834 521695301 849057995 448938609 902183939 814295729 505143126 294595066 935504154 794398994 464255857 135470742 609135638 124759851 461133801 395253662 735178474 373243891 692776486 672261737 185426560 234227593 620592576 473303209 503672292 775123735 517159088 190452516 856236366 269425693 220604053 915529642 962803860 778946898 636268401 201377450 444109735 943295447 717852314 223400068 655290933 210441179 992635810 916767558 593816770 580981927 384756222 228070883 251707552 667895400 845483640 575261364 320161133 312044511 915447190 791299437 509758669 197884265 468807402 969636811 365719047 438917739 927112690 680227615 884657365 167750655 969480459 366873933 986146324 854676002 167284598 966695581 349674209 826361136 612765592 788451664 665583557 873589546 951045226 539180965 483048774 439266401 159215163 813641461 402537888 733075013 949199784 194500289 252469622 991916557 153470558 999488845 729380162 721688654 410722218 345184078 867585224 259927488 807203443 605237552 259194816 881028639 728035439 848022766 407414290 478031709 629851423 534237106 805368181 787070082 438193503 662153635 292991049 147420504 286497453 632118355 812220675 444272957 142914357 767698814 689006122 399115685 228083063 656302127 411046595 553572713 255656248 510784718 212843096 363968932 742759078 916621285 122812636 563111848 783490323 779264908 680083042 333976256 296271434 767241784 648577149 435647621 406606309 306498523 972719126 316658388 675384532 486515997 108183988 474122946 247369222 384919392 599764662 433445542 584541453 550799052 872722425 834230883 649734170 468850723 737743945 958856725 733491760 880791762 458827095 543893676 197235487 361342860 622605901 987367238 639952813 377763736 743495983 196603441 781672296 563862298 584856427 103099169 361074343 524612580 310417120 215581742 356465626 831181985 449848566 163710465 324413248 140817873 266755412 823353711 481149766 249559213 588791119 176128289 940169132 543093380 746495044 482627334 331960877 280102243 137409597 836210423 820918878 630156474 776042379 396453646 532325393 543094545 266994357 170300872 710104870 590391488 140648683 741413801 695974625 781402558 167830651 289922032 513119082 417032294 816987387 348606545 722205469 539998686 775166735 701122374 519239838 870717965 821236890 273430302 611531678 365123198 736297553 535808056 947699438 840873577 268504632 684603376 131683952 881028713 909861032 304137034 836784583 674242774 641657410 954558744 611710107 519779641 471686173 608694377 775598211 864386131 336533178 696827152 992763372 169871211 748913989 916262770 623174991 279756270 289708514 132894358 119787869 736760399 569848875 551401832 980696781 266381681 862131763 495463967 337613484 766756344 681807137 597656864 459355328 166814964 754849658 896909664 220669017 850093570 651385643 566348791 804370544 668392633 939853490 344102620 988924460 177620452 981064883 137604967 254742444 322112789 485780778 328003858 566069080 803357750 487015571 742034874 890060258 362276790 471581137 568227265 527753363 450828626 104220149 719941233 837756169 842588764 710853853 979522331 137986155 673251978 722368994 704482988 146239802 181252458 821851545 234147041 574020853 648938125 767811818 984109141 470380116 553644655 187612287 388183072 656849747 762921949 133876391 865145812 127752945 953344625 191569074 932666425 614582286 706338979 910512926 133437280 172048797 675323919 957873974 354163675 950959748 205753102 963947094 993393758 472848389 935840724 726929781 156427312 205715638 961935452 312017423 204049334 811684405 408633337 793787160 842077333 928789524 379380633 818616155 847987659 916348729 685266538 854072984 806778540 569177015 768392917 758767728 389180509 317296020 468551322 284857931 853237025 953317150 554853590 232065344 381853208 968106792 645197208 533845432 383076588 630126473 309348941 334069456 503997341 507957788 796639905 577141290 187437334 431160090 178496996 871974148 476774364 232366930 783888221 830675491 736465343 463819055 567649403 243429584 862780323 876605064 805522606 703730949 554718480 223546892 997119534 415181004 281307412 787857303 654496880 534483245 731949389 564734097 736777777 589068489 969849778 440271174 404894783 170239292 778199940 694573415 823302213 603682557 740181631 948572457 159630383 557192643 199411098 715157996 904293448 861830215 837199018 536863128 278876517 635334137 768202253 194842234 728834998 444649106 326543783 450057941 602933459 303962334 552282750 173101336 859031159 879960995 170576364 611437562 175748410 346741992 194023080 970769214 834070529 540783181 722700451 716861541 677172277 725226387 247041493 319407803 863724815 182066911 859693886 676152585 137933487 245914590 701039607 964355701 776273837 857633336 747446619 408441231 813296589 758928660 369998176 768738177 656901462 205749018 262569480 325998245 883448562 584374856 654907788 539703520 419560374 177131800 716040309 361437355 857584185 274595667 352216011 733915096 570050383 155269734 710224309 811175967 594301530 550162948 662935636 930668183 755070573 890392982 845588336 378653321 891462038 721803452 633029064 458798790 273785016 988995153 101179668 321037873 675635812 755634660 904251829 504014332 257830852 815168201 506247453 384104781 184065632 586790263 947733507 160781162 530766550 333879537 907994724 764237942 301367915 700408262 621673385 270469545 830469894 357117652 968263198 807328945 143033778 176321170 945354683 377416626 133733789 119348897 992737256 953481549 184147262 819374785 903368334 737574412 743783537 819727020 757566874 509773960 204427278 773571737 189472104 565660052 219344780 218794723 268693220 120485813 507953959 719026078 896819488 451967252 163877605 347044384 180871572 556344848 524086494 222915073 588743439 401860210 776436471 727171744 718431466 886818074 295982020 294889234 331538921 431109747 491634321 927610675 885665004 414263585 359714472 533197461 406961040 216812449 118810940 259796632 593558704 546366279 736604145 236579990 654230060 253829488 253428182 189396792 913789264 734288114 938403053 648250232 881922973 716513380 684232517 229818047 860442260 767882737 552936442 515137616 673598257 134140245 930603599 180443637 345698677 826366800 842497836 689420713 738181042 989908700 917804955 228308729 149028523 289882109 253164760 798240452 333083937 819681184 268846283 621032153 888631662 120666477 474221956 721597005 121728023 184839773 504273295 827292309 995174310 812377999 383688354 767080100 605238447 986702634 231349105 244759679 739286900 107228767 859245885 808556093 300715898 305181327 790636287 262013301 203577178 878568675 257516119 601477433 440361134 812724986 700500332 350931668 891112347 229529130 427087248 479911069 563603917 782717921 643339024 939667186 201913026 370864629 877542517 384060999 824784917 727542087 762497490 417691749 248699903 298155838 168412714 671430395 810252156 102381211 399578865 420888505 781374687 147990655 640708100 293239542 257395847 864755685 148997082 500028978 916235516 720480271 477683359 933546080 854590376 987881539 479208272 660101421 684774882 665058375 760329324 446985129 556730278 414567152 296220089 857950363 698087648 166997721 149844178 557497255 696298829 935290749 372548879 950099168 276616770 146330664 163249262 607996089 930425277 111099241 544765190 756738072 993958850 516179802 955395579 237338643 864977814 980680688 732966373 589880169 627483550 735170159 331297286 199209908 903236770 332315145 172075403 383726254 525275524 875782715 550553310 872596702 319960865 980007631 354246889 168607767 661439950 511733147 206106620 576561008 624061017 287199787 831414498 690792533 223494795 398286186 916871128 963747037 163553670 284298049 385757039 178712482 146719032 713055725 926191802 141486444 119430108 806548642 927399012 773023619 696495916 116208732 658432978 922654998 718652554 104643862 803240227 853675969 542514253 186132693 393562891 220741902 763367532 226428328 122127965 629730014 712869004 636923926 807301446 892587121 262078642 611630185 397687204 160874708 863516452 718779860 889448654 553463739 452081989 827644725 137883859 157355786 359532966 410606145 799982411 382055255 927800629 713287396 520596588 521034204 453510784 848506120 733325132 523759033 305984478 715582348 598191145 778589908 360993161 227336973 807961284 735700702 346341698 860935664 471397534 501366403 634206155 575230268 547365636 271952257 280401205 709382781 849172737 672854437 287924160 469183647 795368916 854616834 386775905 450580709 672955701 767120690 158890168 825946267 180092553 173741550 666729364 733682422 721192789 513774148 908015081 558891650 351747713 399150218 862799344 103803723 352039003 127370422 684959522 286452315 124110528 742274984 791147676 422748578 321645549 866685720 629144443 871963335 777110965 721386230 189689572 622797083 391316064 407365320 880496015 621432475 406310294 382993670 726151403 902987488 647378693 853520857 753069390 497850166 319943252 936226622 314052276 841643790 947028922 484124856 953143891 451913501 158607705 332208841 240003285 154749487 815891692 726925569 911855331 653944637 825358481 639223122 770368271 524550873 550668971 855281659 182415083 885468441 641676764 576435881 619877772 320658413 317820108 167688993 855780428 994778466 186848053 466583250 769545124 437468617 659677078 810574427 197530547 128537520 296961966 286789070 308833271 560492660 772099535 370324886 356581873 310623539 979641854 794072859 203926361 762905642 481228351 358373151 401777736 158125094 460198098 264374185 582423859 820287577 525095519 104417526 691242751 364942070 192105717 676162109 572211586 713848039 959817245 328891996 802419839 798050342 821788238 442654912 231756046 338201448 301188255 744266793 236841664 925895366 388047793 888938701 887910852 673292773 236796816 353264133 478984539 779837058 798362108 468547954 576873253 456366694 303808457 153413147 330567468 415495356 853515219 795240345 599573316 340123961 577099585 277966933 692056147 362763328 399967771 544493670 548197599 427413684 776263590 923494169 474274787 762026981 641476866 971364029 792621363 388986052 753667564 312020859 624938229 565642626 799553382 569286730 532452723 571475853 194991091 817177586 233846218 844528336 532844102 949886175 409543667 902822884 195206314 265696809 628617223 873760711 288393694 736877886 149064717 879414281 861832626 582175424 958685428 896422431 350360576 482146484 101643986 576325386 216712230 715511984 338450385 654340533 528773921 470716683 152933678 846348101 919523058 340169422 942763784 869358999 526508730 570273668 817827262 815379414 526215832 671076959 189399354 466218147 932503185 567190659 120138239 656159746 859416806 635621637 466057169 998874704 966475801 516946076 349728150 587191894 442243784 959817324 167337623 299352588 443746309 986699187 972004928 168637871 904928411 635463271 684353712 157777194 903846251 521558951 528975006 139701601 355971191 475912443 324096134 351158678 357274297 794085474 649885968 922044180 816985278 678226442 403830215 421412977 825535972 395955882 817200368 997684953 471645604 983845070 792456032 402056085 104252234 470736254 891520992 148006521 144145218 427108352 556676861 392391666 919926523 736255469 751767140 244741640 523449510 679727547 287415486 392235513 100637696 141941170 650347400 495151723 616131617 851549262 921883118 154220980 842738909 399520885 577557123 563351796 848475427 410620108 577529396 446039451 190907725 950756302 547766004 874475941 824977532 967071656 267778555 170851948 998769074 187749535 592661609 922202766 276223288 779948099 730484327 724652377 344807215 856716486 801378159 826202620 608572081 345823675 122132148 653090892 550253227 857213274 227080152 217530838 334503455 543502421 678419236 245505352 614474243 881528101 875214967 752541854 458596679 896624288 669138680 721348217 111275457 806751753 593308797 442831765 485130840 134859860 390027941 739257199 707429064 852518311 526966584 742494766 445961687 807576093 452935009 549975262 971432779 307412266 701883673 619969172 399259409 657874554 911559337 683455989 130005465 283653526 235667330 958701705 100928662 321398944 387218443 838511041 744451152 603659745 511933632 807803733 277229095 727866998 528245007 529380523 102382411 741943289 235271177 214783505 712185482 501975513 130235507 417293883 469194206 543839552 178436476 928100984 128660239 625654912 936859686 306593133 331409663 301839947 700936532 221688067 868712350 549890905 132473163 629556375 348792267 708271760 803112836 714254270 311682256 936308901 356112857 460656793 325868452 900121881 927411631 744660825 874031684 680916766 556027752 916092369 597722863 472761429 163067933 769626043 585563481 762793915 219905739 812727444 402449458 698149696 521142170 198647459 975258768 477477858 138686259 666386504 891206758 222417717 386813422 822588088 909682744 882898722 591392496 360025789 852090544 934119076 748774259 477555249 234439519 971736373 788348014 671517500 656708799 223846390 804933190 954875511 212159703 723940438 803272415 354164535 446560590 382731238 699711816 549892155 358852902 806269962 651025471 117085800 400400278 483633795 475742521 699125860 429890963 150660303 233984450 480171806 410480420 414504009 454786835 433127225 928538798 899175683 737230405 905151444 120920996 201231488 874628026 205298609 208279018 487921447 830363043 206186013 821550995 245850411 208070632 722489392 639469550 464807520 711120122 869305320 425278997 196138118 739802054 488096134 554164938 823575060 421179272 467568532 522787688 350886452 103311416 781460669 524946643 621391962 111114585 665918960 674661925 715236992 124826113 847499463 434708739 988463129 693039718 606867058 281862672 209954984 614622565 272685244 834454676 160108145 899374078 237321245 786193891 572795117 172973995 609714038 776995132 135545308 694427879 559115328 186918141 948722034 927829578 119955277 260965675 741407222 451483720 173213267 332478914 941219974 372823520 642128032 368891885 381441045 777970773 357278247 617477749 459328214 394756665 769974068 856229172 296538711 247584223 883141289 389429579 350544199 638370452 644893632 545490816 345167050 427150307 406367625 534979819 417799492 307227220 295261355 142678183 350529701 398299954 327699847 954590940 378453358 750661658 251273509 532305316 205448116 497960442 757472984 186940645 535591054 147762006 180463256 148926768 844163202 326996698 807639290 450630055 811883870 274654355 117502256 904623580 472349688 987997879 629533853 207405301 616602802 260412694 235980810 682521986 777409338 859145100 239693584 534649228 939902004 358201765 259845374 725301165 258007127 141427679 867530714 819034339 572039016 779392270 758876423 731841071 281675134 940345650 832126178 372057710 687480472 676767396 231400825 124770588 275743833 312054974 347564272 678800662 997651405 389358674 702143205 367564337 533737444 113814713 893842471 346562855 367386753 789286871 277569007 298953628 296749781 682402441 257539418 224845964 586766694 317954940 308655969 961675903 478264152 978510650 842566170 334997083 350111081 884498072 458457113 236166455 156033420 693571214 846420303 514691451 682086017 618565765 616704197 525794143 782329944 474119597 810832342 252839077 636431214 697159886 837481389 390349294 223416432 584638056 293353478 228159428 727518937 742242328 380578370 340314482 748193252 995555972 745257965 909587825 119649924 381062265 858586560 225424515 225254321 948622342 142912415 994617130 189883302 861887512 421256859 568406596 911121945 997819061 835754231 133556282 700895834 574882299 815679867 137450115 188964776 862006661 499817565 734083370 175607025 222434904 396425222 566555471 176479852 956425649 744700507 114654505 348425762 727414567 178180383 674195678 615468573 416006465 667718188 734751151 927261619 279747159 251721431 450613787 701223540 640635199 222218129 379534140 715677311 330091451 172179874 103115760 983705367 793502708 241519226 590088914 585377734 823595017 206887961 454019617 825800965 375174404 150426989 741911477 146411199 461931912 476004812 720111347 555493377 485779046 409815597 506788422 188179333 188602017 401367533 131504649 730007570 396175423 536644191 298520694 791757497 139053126 384936087 787311564 489705526 284741468 723143092 666604410 338528651 107034789 379937901 419317321 750107989 182820975 342527011 316518915 922765583 726660341 150722384 292687748 845449437 378815742 743315552 160116488 901828297 870111323 874094902 813422679 157771730 180897502 340098302 287029117 449924780 851265681 544580043 749130028 788400677 235290483 494283947 274338197 266101435 843525853 143704874 787512186 125215535 631076314 774174108 943419361 301685138 951451619 806227129 718460170 217566107 656795960 108326702 562834677 241919393 210070619 951285748 111541895 620733482 952321876 844811730 439933493 689818053 222179241 316359362 144611207 193970485 672726322 271134325 647528372 832267151 798743392 392977259 428758932 362066811 584257389 582891175 209357996 641536836 503095344 560237584 934378768 105347620 315661263 913350666 382837893 283792534 371901775 184997760 509168424 971572061 325395497 840307503 759258043 913002947 972056565 393787966 809605607 183081875 867161778 806418019 240308990 515232136 468607562 189441269 761865589 574452767 237287788 125651934 486579832 741746174 949674139 352692794 379047230 267946717 126244063 659961315 172228777 135457059 199532673 273401988 532321719 382516230 465091717 570777117 917930148 771059238 128031415 193159240 138305126 431297030 756816598 669191990 695310599 636766600 447628566 638810450 313340437 593103210 788306414 167637845 496866499 748734281 963952480 431415344 894850623 342231893 475398102 658396770 810041194 290871584 721909199 372904117 595375000 751383570 747763732 208502153 982941466 997996270 265493618 991272395 913778026 518478587 405982323 362075104 321375505 489230599 806510581 492168036 234949263 801208843 937640311 331711455 549736172 931084921 677317074 435693222 475379564 296254219 632616402 864205463 439357159 608933801 701618213 356959696 482193710 888367543 443706477 733985500 804713388 625766423 392409959 240902192 553925931 457410418 158411588 851449195 544682501 819359366 774868734 408724553 863964854 282638276 124735512 464287963 780867923 671109699 685443887 457981863 603235923 305375066 371757147 803177312 134467640 285034429 491727470 820031361 929759432 148442883 507503773 886864445 447945891 600379853 729867837 875951374 459494606 865453761 456223852 426528853 373741683 597174966 216078513 657985904 297608576 107859212 220994092 518934467 989198573 932227845 576249241 159960455 178052400 993289819 913601165 527394392 315104129 101430158 160348115 980595372 823303402 440661183 309437405 898369844 745027802 669177928 652581685 672663648 162685988 695168846 550655341 781136760 838076083 774536032 519331921 505396317 331267681 760023770 687562078 698934715 189242621 948253228 124765196 323065501 432642857 270548960 628272686 692013721 761648340 166501001 378496580 127738189 242323780 141151680 811938704 736380777 156256173 801953249 451583982 482694188 775617852 605522140 748406515 140199550 798959754 181213810 960491834 848156009 782160895 623644184 987571107 168851035 961385860 353167488 983860841 624590230 775715761 156653510 968834482 269531729 442982008 141960544 178782975 566802366 747133656 256296741 883521813 607338060 143826275 232856644 572453484 878021934 188536695 913464535 298431026 770194866 219121377 734594707 327520377 193553227 316287756 509098746 476123437 320351276 432921656 423111833 682947816 981229224 471171536 119302335 827965355 290512364 545968985 740227612 803737550 833409184 434638948 578748830 137628622 156730758 569657618 110610379 741951545 519697935 520932430 617466524 984026459 150259987 172656628 876466897 226655099 224251931 178329472 471154348 668719133 403075847 852305555 175138185 489707917 210107134 651822315 975531037 895238916 331485460 386305561 150433959 745848145 876334361 181825605 475043310 593857271 495724354 240290756 795847007 303872664 944221891 532992662 189430121 425070810 167091876 400459379 778039563 277990496 606792661 386024316 760636822 518421137 470405879 840022735 208474739 916486351 386595714 915688774 223648354 313352186 104100567 737975121 601769539 602920219 616098834 255040572 946620686 148205887 281965308 841943126 346202133 611654408 211333928 799979566 793119272 388342706 617454612 115827590 181789647 127512615 443361472 539111927 435543089 500206300 403673539 959711270 302451398 922353062 927097386 179255316 801735701 123060761 598080344 568912608 603762587 674299817 301478360 394566379 210128499 706383032 840350803 748176032 193871836 583156233 204009367 909689108 666832077 686726027 723282330 594020403 953399483 641854857 521001379 111053681 422050683 524185153 603673466 795018850 524814553 322250513 151922410 794346642 681976926 581423939 275057693 619683208 351887412 195277036 411110488 506426299 738240683 388177330 163614734 887524424 875273578 242493427 425851355 300396392 745284524 318900649 325224309 217776309 817745111 652906513 170315348 255976141 810881175 218750370 748622144 571878851 987866322 621906286 994760530 892420578 308954948 429525739 313807351 330982748 987249089 545752101 430960721 862505957 620178022 725090068 398217889 503491824 732287264 360920365 588642531 794369585 340758182 375957461 855108551 243608054 210484516 290175217 222841802 732588529 359773923 841518349 939926061 645781883 385773028 325500959 585339567 798789617 697157505 284830260 341312833 675497478 302540640 495430476 739251966 526861215 561916434 182180627 487950135 386125414 916680557 104046557 443486719 251739099 148683250 841930507 117520097 176413990 392712552 586236875 412396973 926673196 310806062 243449907 324840074 588473487 707688254 391914106 691094175 191186156 139005467 153094008 902812162 636080959 790137789 271877867 132356430 464702642 570668417 653321402 292017691 581611815 438645161 530457389 404792114 986535716 390802777 853116768 485848760 583821879 563390565 162978014 627390253 276482991 182773393 146841095 844236414 547684465 183225371 169833908 883900585 929907887 551959440 406726190 578116090 269810946 131378626 506441577 223343296 691588747 511276854 403622961 742917722 842879947 289873072 944788601 331812122 354685658 624263888 338942036 393206619 647914892 478684632 691302444 928467240 330532759 906739860 997477114 495874115 289637262 429329659 839353918 769778572 145099380 733089650 955613655 276091143 773822668 920597885 797999026 553875555 592924757 406620307 608880274 948701250 934890329 495501557 962221130 116950690 572326908 286683364 234362302 861049693 682329927 464744590 990193536 925639232 902466722 172675161 756141858 257031913 952917861 806542491 408677731 985795035 453279253 654231433 549541656 414923149 145436063 347472532 409754571 658631787 887428259 328931011 178970109 508208394 924396545 362425001 739047076 909565671 601526092 802583847 584674942 514056418 676196386 276200872 593354952 614100879 802860700 960320921 162416653 886559451 899944515 688758793 859169073 544137844 673714944 482429229 296690861 259616471 423551758 326438165 960806612 291198060 735836321 698576153 405084476 391199598 493021770 155300365 677498273 767044334 182966679 817945107 383532538 775099752 340704511 896599926 768054367 559146906 446417449 678894234 593239024 888121237 790621078 440070969 908406901 143391318 406966395 322387303 933861012 344143225 343019355 464762197 645076083 122992435 206649324 801365131 963346602 897405347 914200302 534344729 544722308 608076755 175446285 757416227 845556965 260344219 123574143 851435122 800791958 671525201 993484890 154937647 675548615 158467448 935707101 800350716 350929008 316817059 604342432 944700958 795367073 391843533 162038351 708161439 851966747 859440845 929406238 837353145 721333802 370783290 115478102 968947389 129462705 303688226 239440333 891440807 398233105 553638285 898262409 397036858 429662856 572948935 857600839 659579608 691342902 261469549 818143216 651301287 603434492 182411193 885226223 940274037 905771418 836471675 341762030 636039691 981740881 878813869 547708000 294333983 564578812 527922813 615120605 219281873 746762547 325407867 399385217 324114289 775856332 705917879 269569618 353008069 153287836 286996667 379585184 417717831 840722258 128719019 463897048 536165217 716910492 810589809 649171005 856714196 426648288 940218661 650391569 528061876 106136463 911971095 114655820 491261501 843803220 286674056 897654656 487524701 427972258 571978898 839308234 159483444 901710207 401811538 503081198 322413644 685684277 791006245 854489216 779094235 789585016 137492619 309408700 679933818 830697517 856770389 242449565 524832339 583065041 455845776 698211785 865527410 270224129 671958208 820738462 713659431 987046905 893349925 631825371 672302992 342075881 216424180 191476848 215392961 591353137 755213786 560243599 724287999 230317286 350789378 904485237 296456327 705131307 794628980 579747566 261859160 723774790 668215853 165843497 932267712 279701468 953292671 832068720 278262391 797116170 968531408 869489097 246251221 699229408 980448294 492258194 478448995 383420666 162127012 764126238 630495492 815768321 484753134 327079999 155288724 136450571 684968646 431805167 841200284 614449267 883095052 764643336 481030015 701399507 660807302 847427940 993380350 481587767 183290802 281950701 447096039 375551093 729689938 571623531 306091650 869274094 416739370 401099391 377682972 479048285 969416446 196082149 430803016 160459082 148524060 821724986 106280301 372094493 190729725 339679054 426898774 729127735 154825044 630347240 776456403 218850956 579767952 490317736 104646694 122536128 827655175 702761154 699976904 340165311 342566607 244757538 499534479 686292173 162233381 829098385 632640127 664080817 798451305 160427969 502194160 692528459 702555529 227347237 944190650 668013322 240732321 331815230 872992938 964683850 335401196 975504790 148930544 877408965 227588694 733762738 623891235 193566443 122187216 229862017 426892401 198613136 233396594 569561607 195697801 451013341 645809170 699641603 533215667 994434069 793542984 196242233 782954828 322429566 177329163 674969557 495222609 194780789 156157633 201141727 487232809 344318686 495559311 694169834 459778021 178643663 773976053 506752390 509758261 213731245 343021202 114988117 469749761 750997074 343010192 519701958 906317043 445051405 254684597 790660536 916285258 393110372 358990240 751801128 215705790 583865117 742483034 461221371 460836384 449149358 984214685 780816079 278216487 520999876 281858800 746049191 115488915 594504160 646171096 804181740 735446241 899236303 205089825 988025855 970623166 930883386 596287302 905973648 443286460 342684318 978717546 526222486 871404941 549393173 906970469 623726391 785309758 842456181 320936475 678830824 390868176 270264369 279351841 734590748 279294787 255227971 134308330 226450774 387048691 173137952 867613746 237002697 851863217 233816675 892661932 673522974 695383753 784498142 167934158 226023026 287343660 260814703 151405967 630766565 738122563 733364185 522959675 892777425 580138153 998427564 930708520 975886124 991403436 652299930 142779667 413958708 436296263 716262000 305767877 554757698 465852989 402367497 294758628 342515937 814458451 809939246 848945231 729581901 248995989 804753858 434561507 158081688 752123706 260235572 646893652 247060542 848808014 374895082 365852199 626944511 619463873 234534665 331993486 756436170 978490892 357641199 247873758 991158225 507847710 185775605 745547978 956442672 961705112 371318314 948328993 141456234 654963351 281802449 272021809 532648734 247196571 975898190 544668316 978913291 219892860 548295623 477577262 332322528 813997874 213842507 132654458 109930020 562023290 747742552 717826604 660331621 959649701 870607669 275767950 135346203 201846881 648290954 167936311 168918426 256452619 528890275 748275826 268065792 845829754 712674593 942156981 123340645 682566774 126191499 716840054 818765733 586297593 901919813 999276156 270319391 530722932 201171449 866015056 939935153 590392828 828174787 256853120 159142210 292266786 604777017 139654085 314957827 285122182 963812894 431966804 349918207 754689599 198888773 125205709 282611437 740150579 943440597 408772448 350524315 538850703 447741420 676881122 477039783 980551298 136902424 386330902 710881462 628317391 237460818 243256345 213949833 419578398 506339524 655377066 125959835 744147430 880768869 673079998 635896429 240861934 338059969 148727977 408581806 527677235 479107087 689465832 740993385 910907142 720535709 528169972 449717265 108978755 792950266 920235791 949700030 474505446 897976871 735570549 870078798 710073989 125977927 594795686 140911350 598391459 354864203 788862390 896813143 286038502 158005958 639877384 471811183 567006101 898274556 970371743 493256326 505510305 608086679 209244243 767726995 900605822 590858357 191691416 316259482 377188766 529273782 578213820 442188990 946650795 662234655 492663443 792521746 987785232 603496331 531958773 791868355 722344925 316416528 334888534 460950850 219605117 221360742 118629630 560024463 760041656 754868356 980045438 775286979 531552066 127768042 221495928 668190893 214782102 576999084 588955362 161206232 861486771 196509956 243281068 297663791 738483753 162145946 981597436 581384062 727328155 104538792 471536669 563538639 397422583 172865225 122127383 775437431 187806508 633873134 333079933 691897265 885476241 985019763 144845928 937266752 845261562 642840613 148447994 570963579 145647973 975983554 170519883 538756410 654680770 609606665 268934690 154478421 926671657 470749065 478702773 460775533 539767908 746451855 924540022 894724081 518849111 957654007 854336484 257337795 798189375 840872918 137424842 733570701 779486184 187707250 798718091 179613059 166098527 807830920 782913316 768787903 791208409 982649875 328594969 511484542 420721382 674863086 321359844 161600472 791762745 959550614 399592436 935135623 591686125 270862945 157886415 260513566 972466135 923859262 328413507 942881119 574351153 513735133 183153898 590342162 410050971 982055470 220644514 521260510 418990052 753501731 442779193 900819945 356777077 206943048 648437322 891287867 688817210 843136490 933184785 848536501 360504582 802742733 760642434 950879857 772977699 553092763 892493778 732889245 852660847 745672878 700552506 516875332 455272370 809434349 684184917 285942580 994148281 536379367 426883167 630298040 803486761 786760136 294725937 476915968 201634051 291810690 853761760 412782398 892038019 645825094 615602135 423272952 997915711 860616181 660173210 213154118 373152747 781219031 584372324 227634220 494387213 732580034 630664470 532712349 308696958 532152686 848779431 347447690 723587435 514202336 277352500 213770529 752180239 204613592 658316385 206001407 704110001 277892202 958584911 693277776 300211866 528670245 193949371 163534918 926619226 867953226 822176780 333485977 405640874 174074401 364881000 547086165 233634454 344837080 630780433 969700621 225459323 478462199 673394331 829168065 534532377 321951284 555946963 209534175 922367736 216586526 825408004 138210464 921440665 210523350 565341383 433238230 560008190 155165340 561239457 684880217 531357536 586795579 407245495 825681912 959333864 443588065 467662188 258066991 803869888 506823612 131881060 171621797 358100265 193173957 997105829 300215400 583734263 744837300 344725007 581539705 641649662 222244861 350346843 655648449 562161948 507080456 515901733 184421486 494983650 638079820 755205551 987766823 298107368 567672896 298184874 345691411 977944956 556598132 463416539 423844811 822119843 839996152 381523773 670413723 222504944 427240872 298116119 976556615 161070629 137988363 559234996 760911762 234097008 900240389 439909613 199782651 359582618 926477832 200579779 294154216 751424162 921534693 367739824 617537763 617015137 789273435 345445091 563820558 816135360 776236682 589115885 347838221 139569743 425464249 626596184 296809031 526480819 313809665 263724360 643881148 401832670 393728831 585894853 475258535 711592121 111447729 140743129 453718654 699189799 145374824 369615136 425798877 274330269 757471504 667205114 557553786 706064425 138977665 398477074 605045022 579814426 111398538 723211284 986273154 995170582 811331727 681850041 676853745 373296974 571068681 739914945 775660004 694204261 476903455 531689869 824353358 157356767 944992526 502618316 570317441 452586232 100508856 788300630 665799345 422713512 156329057 455922641 384172981 949589714 300200988 776776433 816917166 444183177 635617800 958139458 716324474 735593852 807093047 338267098 499906521 817803279 351933750 181547042 809892944 496232545 989025515 329355247 123339901 171549636 756267954 789453803 279707308 630508203 722362613 606202309 706541121 364133250 394157525 763113125 280840005 809977084 917102989 824402253 501393010 448767541 830678177 184116362 854531768 956018090 255673538 810636493 627600352 402543657 462819851 293080007 461785420 999492483 906732189 572702010 940807137 988920306 900142990 616680151 555761289 919417830 689840684 265789927 451118765 411326425 724890225 116656909 799999769 313096347 472590969 282645033 279607996 184439903 784632455 402731013 649001423 501155531 545678410 704034939 632748624 301432143 684610623 681041123 224456759 231308708 204845295 700942487 851333708 982144212 686454730 173431938 828991171 798942628 139876280 583301764 188408876 152422232 101075967 103084311 900072020 652591354 534001430 380977008 981441425 497692035 116385068 706432586 258663809 901732178 261722748 553339531 380765588 486888127 349588967 152488482 607229528 142857384 970766182 530086573 847573623 461623984 279090754 302174503 728687098 120630827 207835476 867413089 370296305 489850078 286877063 322336254 764725670 279995424 836962047 380626894 304533276 359903491 654306960 181332587 896251339 123186516 257898758 698947630 156228813 303780721 896110997 150102413 402688143 445513965 829914148 694251030 323822608 443246050 380574646 116689042 583745329 731249373 828161570 214849706 267818849 855483559 411752436 143824979 382492735 815955737 689985748 219033273 619296182 825871267 571709292 907549026 543610332 364542938 409308322 880546401 946577846 917913076 300591650 361063183 718633484 371413814 959295616 404973805 767147242 598858454 418705246 631200721 520239686 864359170 720522598 173247736 754152413 641007525 315652734 811216993 806753226 946207187 616070172 313085616 437648258 807662014 513130372 129534136 723772268 612592060 679294975 683838997 112867980 739190762 176369966 493229811 906082392 859023990 838931819 938643440 677005987 418268522 955579481 110660365 408369422 199191449 421100840 410024224 188296930 279312997 575162220 432996500 107807856 352201372 603035018 599747510 971904970 240175258 189098805 770690954 927057299 517457334 634921776 368340509 814556307 286828229 676978339 918143672 940823130 166031804 607690492 360933824 995160099 510496661 707980684 637002893 402670022 121300533 148160608 397323977 862006839 557864750 883196606 355051253 603769750 924833614 986208899 157849133 865905324 800738887 371021606 139002059 195588597 506863100 900684543 557918626 624069964 800827758 510554805 891398621 644802786 676250001 102270458 960353708 274518681 736680839 250542985 692756604 320781333 585647175 345780853 769622200 399400848 790380208 423992128 452061712 790228122 950126953 292531422 374322909 194991129 750988715 125482785 258323667 701723815 590794377 957689050 256622798 622499002 328142474 417123040 373136078 457644754 702789293 514235879 542036316 990398657 137319648 342374905 250608423 780105569 518338721 630018347 225393474 101891570 432475215 218677497 123671041 461800801 887757646 815929144 577640794 632811043 183628375 830088024 374363776 285651031 855938857 384921154 943431897 640530734 902379661 652359498 200743089 681620278 234122145 784432697 162114578 424540007 343843399 615851847 128296844 117285993 175505472 803923941 836620877 182719475 399939373 266137069 497142247 440972190 474115485 117226335 316393542 757058767 525150278 105008744 309659894 669121232 781659300 744528426 311767012 204164915 493110790 157562501 892347928 734237661 146971335 172366489 700177357 460818724 227190569 354015665 597581768 815625233 383723122 585952598 710929520 309981151 384731202 566173770 654550151 547417335 446572560 798695216 901313508 615550864 541884937 353264095 717982923 652333695 607271133 919958928 936697886 333385574 788329353 435632161 661304350 684251463 864340507 428586727 976922530 265431902 273324213 553477393 549175428 928770949 286922340 600542339 461560226 905385931 273979710 884333257 810624387 435702747 297319555 103240484 946624102 861434978 965230452 420981371 693194780 523738827 601096447 822953069 367537318 957607877 118946751 578400115 114305083 462787475 781222662 629938728 118548652 581031299 386065147 151318165 711805089 375560206 436035230 601042671 900901894 590936443 418783825 204536858 301536436 160304001 512006406 573025697 556630737 632786379 678297231 832196398 875980215 530656943 646392531 378600780 693944526 961268355 929183858 970527500 318570864 894346647 876510616 836822350 825184020 654957319 501766952 610123630 742379566 451361543 140910191 163048055 360864306 447628852 972142232 824550879 496491684 178105026 592556622 584335660 924054099 810701536 553957406 696786019 599934250 271982122 217716773 231507644 832661125 890032082 899963838 944375925 491799858 721448792 491410262 627296265 366577646 945815677 344477104 155776019 549258909 921716780 650297228 180960234 860798068 110603770 177157412 877597565 817161600 687049598 673299421 727159358 469325859 524883931 642215791 440684660 364544933 547844427 378123170 718508463 561040546 422649509 463495023 493943426 750805253 126773655 800640458 157789963 121157802 240820241 113070748 858558913 801825528 876699272 858817826 202032252 220556507 383754668 567358835 984009929 232176819 604580158 360084738 962838213 381561306 780338824 327287064 506406423 344050960 638041359 573003033 963942242 617779075 381093281 128143640 651445665 910327547 265115523 931180025 817787752 500816180 981397465 651160552 374878956 521179936 155200867 186124539 864395023 658584437 771210819 697169514 790318520 717269883 952032578 726257091 283967068 608254198 238100295 754125332 652616506 777146582 955907064 659379111 576803067 477909505 773321888 999673400 620279651 370830736 216546267 868347192 815354905 658844960 884736211 786181585 439162274 297122267 958202763 295138848 483429280 596494031 142344856 101895475 196468948 488926925 755960320 445213354 526676012 439265583 253238610 458336912 755479025 115751489 370935097 697844942 513064324 533750736 745679003 788642421 935304255 710003707 829261092 583032622 238755730 534601900 527229152 906612074 490128656 683055006 325767229 504959800 245224000 219546937 169114153 200274249 262334714 433508433 604611154 587102858 634361507 370529386 118734286 724907004 983791123 633267165 100254273 622192701 843736389 734223573 776809943 234774170 970191504 826265620 571539027 695615828 443182277 468381475 514770299 257720130 159933462 957155816 509597913 615237645 275849383 849831346 848805855 313476435 546202705 153720869 891890666 328122982 594028692 915205615 766255646 595603955 853035559 671068580 460344618 710395989 303295275 640287386 384317741 106567160 185740305 292760146 825741487 125984055 498000508 538669570 455404746 328822487 449288993 803007868 203911452 504810075 217062113 824973575 493706195 724493893 260510047 488398247 633128408 929044640 329869369 116986809 430235776 443629779 461356217 573126639 536004699 395701915 868531979 591320807 855532583 276065032 400419399 659773458 739546521 797405604 921151074 634851593 574194340 635036169 411224281 900143196 325785003 356802094 403266080 246877833 354571770 216590530 507198258 816334402 646271225 181360846 576457280 436813936 129999145 340313860 342884464 544089831 797564853 368259024 632593559 209782412 323899564 331663025 873461150 413689116 803646700 808258923 720636536 894816568 601314960 565854945 842030829 200466040 513453925 879770779 243076074 407733035 508020658 339302597 664472071 458688247 315698300 445002160 981565783 480554725 280756961 415391582 204064055 806792021 191187900 774941406 843121924 552143894 819152734 428440748 908077919 291095495 287436343 509916671 742440884 753604767 340901571 847119570 413869580 817593650 812041412 797127287 790043240 491457328 397479501 942959833 518700266 520700027 663321629 772453049 388702314 853145633 298995971 424523756 646709180 686700195 287104363 146965891 210420805 290665388 132058039 859881252 418255182 463729934 981131041 197125751 146896316 892279787 815608362 284112637 751821097 924613015 856785486 507440230 349032909 812148012 651120279 364888649 756179781 775966598 490745701 436850805 304248218 273450245 893692387 572345432 251724089 957777458 664853030 510984139 109916688 673568342 990953479 465941281 556305718 630454485 975169873 305573304 905826772 131942610 992537112 537523874 847464760 952384017 625817857 537802995 585731833 524765763 927490701 748386262 265943346 865895153 246061506 925357284 502124889 994751668 204274616 147034568 472591636 359504705 411493861 458862856 119418974 999499937 993918099 968815156 827057441 395964792 688439361 667863514 805702282 340341166 916906181 905703604 145966922 429836029 977647649 121989749 522134870 264410271 507084874 956465104 236206909 990114279 833055442 366531578 478490496 930402580 134853379 389857774 718743494 487688598 528980240 551088152 408760978 699837642 696203295 457221884 536641493 720602810 508140252 703673207 224579602 111512499 709262524 775015601 623283472 962965957 848131571 727456675 736812517 937599870 839176260 135018264 379308956 914513204 587342502 646210275 802526235 314651357 277435715 576280540 342912927 264986304 654880397 597813739 215043563 829354837 931510673 324169893 602096267 907928547 302841283 440050803 454284334 383283471 109288161 131183740 253466539 624358854 865072289 524912448 676598804 211148020 834114571 473859130 867217045 284538202 250274170 107338908 480095403 474412226 545428860 505671249 278662248 984041407 109185607 309461020 934653830 989235918 946718566 627283159 902810514 713822215 769379529 515190143 376149000 174650408 350880501 595272962 256397040 934840990 361866117 967746901 164269209 820541922 747388536 665957190 851085016 815756032 607088129 613147442 293638508 759446244 489443863 186241562 728938142 847740333 788765001 646844803 913956272 101917562 746045257 864073090 129285974 744947121 113340222 861876463 794463136 145542324 138909584 229276973 816621039 468547485 657221830 208420412 980758536 751408603 703321617 849172559 825475885 584641820 493013250 131434698 708471694 394826341 878471528 828303236 307528765 714725948 673840035 648089744 961092899 261545578 209474810 483040637 518756128 228693212 447109924 285270945 754850726 990009260 584386137 668169577 221465752 352428022 196349578 972887287 394172221 849096090 162834080 754600641 445541363 228104855 809664457 802050328 375075208 361794791 929681089 232617194 959716689 210183969 112723285 349286046 787073542 344494014 256701724 671768106 866242684 790683408 729268945 476625015 856386899 580438481 422306203 474339558 187563658 788690800 512028764 315766920 418742027 797008150 356477902 326174973 533884105 966850409 428115857 169649585 234665591 826267267 773672300 857383742 415380800 587180913 938008937 631985630 266799996 844374484 249256080 708355005 906393926 142192949 683601066 212775111 895964631 772809089 822758732 582461947 767946520 546620503 922780777 998974162 895366998 575786309 332794239 844297230 523349671 809112504 402917920 425939696 732275797 882083662 411815336 807317870 337988764 375533479 528426219 101595305 951063142 115029720 668443258 927001331 235332855 615393219 726042876 578343007 179585717 485410950 909595928 152730346 531373745 580715793 998243339 362814324 979662333 459120408 734364518 958160514 604976158 200005011 329427336 478489321 763037947 355451680 550857744 190125156 567561453 528397776 430888337 387577718 436906264 115680378 470550686 537623152 939413940 214716402 314338626 374569768 124564447 169973403 675747820 701832627 831720292 960867580 649932845 956941495 317817038 620225851 166747634 542330129 669960446 667516942 363682632 679778156 888017959 973810082 206007606 549491043 996829800 610197815 138547098 884237879 556736830 217442445 962033040 903502159 523683340 268023149 619180879 189564970 512981606 900799014 502341511 666974909 586201952 678574363 715646488 560677560 197889314 405522473 484945859 769023763 363089425 322639515 665362138 497208954 251028289 248140590 789420393 940861849 876592584 966576411 909809980 478088498 607979243 901977100 345479299 796202267 237881152 275589567 323466221 192015098 907883205 508761962 455364807 794217898 264544688 726998705 724612154 255057908 160865730 198095602 182123473 903052578 227361272 344896889 448681571 469698349 872330874 358930120 724550102 333412063 109725925 718880909 125815031 557991378 870104685 853735726 768808683 981660572 253371992 795023935 365141017 517733439 912969754 931283187 688861614 293638013 182657453 197942875 132666525 131882488 272913175 510779530 486586981 579483497 933455689 289784132 314460874 524884623 434051061 487706698 438466260 990131841 263475141 228632488 943950675 563856130 409469718 215072636 955690681 490650964 702720828 496488960 267855931 318002056 737919519 268737807 293646164 278062868 381009866 425473803 497919295 571996768 959323384 310836803 551606816 109094605 398365904 856544803 175132014 112134368 532094356 401000844 609155832 415914396 681693715 449848862 285598913 396754145 395996734 983971686 220714589 958378154 600438051 663442862 814833659 422859492 725226518 193442359 908562986 739466294 819031273 409641657 328651701 416359323 985627748 161512049 586146612 451032164 725660576 469996479 306110929 665116698 883592547 168784217 788108530 329479440 210753377 703551557 692310155 677333324 815323458 544821173 240043783 948399719 304587501 161856680 696522938 497229965 168228550 120334623 173031271 796666180 377925730 340323370 160183307 407469816 292367566 607929496 520624431 183663785 988537422 507597785 314619808 230503432 941213803 229403225 918525546 131242008 219470811 370000891 539535694 201675314 719609282 448565154 561203136 407767145 843766803 475081255 465161163 885183309 555698340 658600210 395764989 295779970 465962203 701913441 149688932 399218348 133569501 959734192 932259931 172651634 690565357 293717017 987605723 435226617 690193988 787437945 586199743 647317836 559143627 913979233 705245635 772169018 668777967 213309526 338055440 611051283 299671948 782304231 650608135 408326687 780255045 381626152 473568193 959025570 179725840 464693019 155720447 162258762 162668645 540558009 191054150 125182953 656148524 362277530 869048931 307391482 740138238 165915291 535768172 811764083 542766506 218911655 497933775 109176516 744094160 634741653 606086105 625576235 603055663 984554174 692023319 561217345 415906166 173944190 377054614 479417900 159485342 468564146 832297485 315191383 648475451 665278755 356420330 148227752 811049860 110415295 823805357 266042482 907303545 311478835 499560064 190004979 400860192 953613438 635749835 209447804 940182071 717658930 829822675 774472580 408504756 341693346 259558022 665186179 438425830 640719794 843930031 953269122 799291424 812417993 161133998 895433590 576645824 325064532 320508673 238546679 116570110 125446435 294335176 682786817 507602894 249733326 313400458 316127571 669550493 703656196 107455112 213595401 846028058 848881259 270709127 202260660 995081800 801453689 878622274 669985756 645912894 343804305 355372671 444240043 136370590 451487323 234460996 776407502 240035616 185589412 817180772 697511062 452449090 360556976 971955680 444396069 286936748 364048406 412507425 644602264 392517375 405640935 163521491 308700397 445961657 943052018 163995424 282471953 486845747 508987855 881845303 438159537 554831401 567132144 566922232 745310363 658568570 512327167 114794334 219105436 657646521 843084105 281258218 471033603 950695287 629672762 844607510 274894302 940508418 511744524 234952081 128289122 711828486 622656011 968224235 566693883 781630398 148124466 328874322 507292836 834089010 722708420 575183479 842482910 452666298 981766644 335636262 448311683 428246822 895127936 625921500 165217123 455641392 904599493 488519015 995886723 600519317 450575284 293343130 707498875 275030674 433918637 521385966 356961653 481855022 351108439 878297889 607427556 607614391 390059653 597698858 854098560 474568640 410220701 258481988 178250472 515674122 658969315 206787863 417066228 440878780 682560320 935876729 506071478 123896779 583692229 402503082 541911447 991502725 628880447 906344001 674511432 153554076 820854141 244867159 483738833 864411725 184115589 105920222 221984455 486773376 912716053 323741483 826626660 937628756 335168265 340429955 684301224 698014859 131038701 173596013 708870971 343886213 145918555 564228474 403404528 399772762 282966466 551361638 813767605 899503654 115149453 124633061 661029252 141372890 302441965 951298219 647407695 690721646 971462727 989580909 753924181 788877499 744679161 581417853 498248746 896469381 883711401 770766926 138306355 506064983 901625129 439862791 857352365 926634290 973369921 694524541 500841061 666828519 770354853 106061530 354737776 170536216 840020390 578600431 604552248 192417136 619448946 671399652 559220433 163113379 616322309 872989310 834238438 948347710 247315190 761602856 155898432 797127627 955302272 153658601 856837887 936773340 134487616 605316133 172993904 746678325 593573812 170311580 286925064 311150419 516393314 241687592 247374428 204021139 670493383 904245874 606431797 743906210 280189855 985585167 760196032 203467091 104566380 761948100 233126235 226831854 965299984 328838218 416178730 247554894 812048737 926023429 241055601 256979462 742852067 785607706 929920512 617381159 649951858 736673407 294257760 880908994 607632368 550571157 497522423 979204996 380462694 837441974 581500056 400462732 883746876 900257292 340014995 132403229 596525221 332354238 648829327 897311177 528552602 672834059 144475832 557012873 990346575 885280218 219791867 603464004 793715200 368939308 185731198 278351224 366669003 477337889 178352414 528691967 897906968 420269938 911659348 623340155 683218745 994498749 139250478 672580650 456061907 223196933 519933404 271608452 895735686 402619610 581117635 170244891 536091839 296698467 654443858 509326376 873926948 857958723 166145390 226212370 451459468 766705890 300857387 719912893 936799188 322089376 932696213 100154412 169796713 753630607 786399622 490853411 326040687 258362261 684243107 178492238 190631852 162268023 781393661 342428942 327181117 651288525 991452968 317212117 231603714 733936329 961943333 960016828 523718102 339092066 441014922 698879976 363506052 107351766 247603929 200041487 339459250 843165022 653233184 420166261 352944925 469654025 259845552 121765295 361956523 157178377 394630070 563707926 608661395 610523093 584140078 770474525 282777503 325136207 804769335 661001771 412910414 157635465 864422529 399839077 322974768 442597841 203834588 593454676 719099971 351712613 644954948 426571107 728800326 379389354 252699842 439576774 928158206 264268387 845659598 118203671 148443166 699715400 618631228 162971026 297757440 763558858 979382099 698583872 112056485 688983401 576947564 728724515 162171355 856754902 180484052 180209778 680773765 670140557 402227689 861351502 684563923 535718874 793980957 439250071 953796778 509263794 696014917 466728488 276370658 878243683 121268393 208205161 396400702 164442141 917004984 379840665 122104204 592555523 667445318 930587227 466027502 170226380 479219300 200815255 622778188 354173858 876561414 898499058 984132331 828938804 610283261 171920917 744230755 859371651 381622728 722970733 189123282 120844492 188625736 153380283 160611768 391669268 841732122 531944759 475087718 152326867 573895828 215695745 692556464 118616179 112459227 939965134 519304237 110552912 831138895 649773200 366785663 847401663 127819009 717977295 971656869 134753596 398805277 708292274 673303949 636435039 633197391 830912312 556146320 638334908 427821804 522668533 819161931 946169694 673691814 660969110 698602716 567429349 521452498 884995729 195842414 821860797 136439763 715988845 945365566 895024739 194227097 475645621 417926752 524249057 853314714 307363515 248054646 990913766 299201639 973030796 895090777 541947801 372744645 175262187 285100575 720258545 967020704 940004096 672755930 726140879 516272272 945644351 646366458 421650907 230195292 288852744 671967820 878535810 541764268 425460652 621583034 712656398 344577870 533499937 349688651 350456502 369965799 749603693 377187134 536670740 113645653 439690223 850731436 859161179 762336101 265905756 897819610 259685426 797726823 133999903 515737621 560485696 721411149 271242374 653909856 400954577 172693339 385724222 573265731 863972334 412188109 473924989 819275155 425033149 613320986 816202703 922600300 505146922 786624130 479418288 290723269 565382539 372729752 687939827 400623512 613154995 868656757 592185367 487665417 330076888 681243322 215040025 619056428 803445894 567089808 966983727 849180681 806546670 754642478 797935778 376724808 203968151 849691537 537239945 998597404 614169344 895660364 216394419 776549450 362595576 233981603 644031655 510285987 560802289 860797154 652462020 292249765 603780415 655019103 584098702 436761821 909949374 958548916 133060225 200465461 991348068 431542298 434205812 272424629 958326745 237931451 552903819 222459321 651756661 446403114 694870305 422657003 396770135 285200889 900306178 718469323 169568490 104388616 763604933 147242618 904093734 625502064 744084311 161951983 578434643 857982598 958003026 602957588 502353118 132408988 147646674 791840163 632774766 390923525 856231523 348546728 691877862 715811608 263669165 825688074 488712376 523824256 650567919 384976849 748505694 380232233 361669897 894452793 220158254 817437363 994243643 276703038 217430645 665534695 480824277 553534751 315402836 937581566 105731618 373015020 533923507 974874698 516461655 629956151 865659869 352807661 790859579 157768376 324309913 466608245 969770261 424067254 409007607 634123190 958730677 407686441 801595399 849454483 766818616 311188100 557460283 209381148 154404183 130375996 500859194 281690313 708295282 571192119 771020365 159703615 494177934 892311917 587179702 908667848 774205130 278064597 361831578 489534173 560828564 891688063 669102514 354879571 884826011 892047052 797432607 109873804 636918820 239515795 729125160 218857360 779126713 155745093 793398212 946012919 797141110 229856702 191067540 831222038 862150261 708625679 775834652 716847526 968307595 650504609 215123007 770488685 823794965 677888301 913200987 885601798 267640657 413900425 189128396 532800116 296698443 377313362 136560775 263071417 831749352 413752135 536495834 846408206 653334216 484437017 578679377 787647265 208595574 936090134 521034063 186697109 508590838 153124043 125581924 493125341 282240846 546530939 602529199 958274880 572689141 521596207 158714096 175697881 142113400 117958330 652206872 508368924 264676396 456231796 594284818 279340275 755472824 883364123 670876658 271701379 882872385 850017138 451613912 926436263 651625746 184614850 964524554 381808796 535904302 937089951 476523323 686123322 145979551 583989315 213120824 731739129 558568709 462712090 276775652 884404620 488050280 725598576 922110695 818076612 768108535 754465027 556118063 896890548 356074731 919669113 814609886 461176228 844587151 876545473 455365454 804056249 484775481 186877916 276712673 622139144 305065567 535983970 272476335 712237772 495648238 838796716 143925456 828982997 484457440 902837800 730852094 406391422 325005267 285791360 664518672 314141325 934609015 868191416 237167931 789036394 849645319 933561819 159784663 267482508 423556190 264076903 307726797 517624846 536926726 519458093 171251087 449621817 707946550 250873581 745632512 168071427 442975615 277874555 169316656 287991073 956847885 180053422 173063878 674039220 762598551 221813178 900792720 279438324 770039563 961936494 598989727 600513601 556355078 105104047 637696355 668463082 108965178 234157368 754048455 748655719 545295954 805177879 429493108 535452207 205475032 310960700 736555339 891577966 347813813 360134288 861246326 348872925 458804499 804487715 504160320 973310676 361133712 574864433 353089073 172473417 416983454 640944405 218444425 602179080 210316034 992032926 359294519 881951193 436023832 550713177 733461506 778215288 319195422 977889387 827541518 956195074 707177425 343033477 512096928 593988382 983543744 532654757 432559433 801346526 486887144 490909578 333718894 543948433 378372235 344530237 641949820 111667394 940536282 609850784 785624190 755147079 808000347 344978742 508587549 576513136 548093109 992711595 561697633 117878343 204018880 684166108 567601894 358776605 927988572 188266228 793083626 414021428 361922288 970072737 253296732 117625343 409981816 443522514 488545812 869356058 917330749 219256113 314315135 569176662 546446202 592349421 425414932 434466694 195593077 567125986 490877875 714862399 197513852 327378086 440328154 186102979 115909644 822476362 778665334 227252870 175482244 512758627 573058430 550159384 481388676 643972719 302971832 801004843 923977290 844364787 940301378 337637675 387427426 613677452 458590627 792407480 882451723 669285424 392667311 770849060 548432768 143803082 996696588 693695513 935275217 122769184 679119498 181825565 941424152 554214235 904800968 113775471 839254879 405030527 798294532 365634486 755841313 969687847 865917358 839329301 111421581 190808645 924038046 742746900 765099161 111538313 383058716 516066070 942050057 125486271 779486890 641770929 610692145 685842743 629458912 433226296 209465629 891142874 770392678 937950332 417943311 931605060 247347535 106463069 699112638 707418222 359373341 353655462 355156938 154356311 451364919 869502156 970209318 201436299 552207550 220712322 280084082 302571989 797196916 187503012 806922306 877440155 920021661 315856876 547277470 513428434 170224553 369349646 938740027 731001474 592350993 232550979 307723621 631621706 862921916 624312349 166406247 347695158 581712340 586208436 140202715 288667259 179174744 963427272 297675509 568986670 897521112 740272128 597372118 917732076 619559237 336123992 789860418 177388191 673414387 837847113 909498517 735509416 579363906 967236261 798704545 827822680 388122817 961764874 975653493 789649001 644669816 295583849 411900001 409626806 631415506 345157573 897496962 841835588 487849383 990241091 108014951 458920461 393859288 206625145 125996030 961766557 949001617 672844421 661268515 339899698 362239696 221028579 527678480 259259639 720607837 308014827 879459903 853463084 107871066 653272843 572544060 704029490 397488444 527477330 891282241 420400054 105074933 488898627 203314420 719221958 281104731 334451002 257463382 113519722 417131329 229556940 481577384 799224856 692344750 183838005 286330915 578915172 385303271 927519458 254315433 942328398 299943706 633011888 137582859 731588198 380048761 663253847 348940191 549148135 560741421 133364791 895166044 762265476 771299109 290393649 594024839 665094816 276217467 532178231 242788610 144217655 938512971 244567186 916074131 865376560 551523381 352876718 723972228 828463130 636773835 491345405 410948969 689479288 937714041 272696550 972974709 234044120 994972724 507717421 658614195 888840935 110169523 339695649 712483689 148698752 563169557 924781098 612722443 804326552 588579557 362508638 191869458 833419987 222781592 125286561 879500859 813381837 286827491 303549719 641516858 983632736 649527997 937084375 340660841 813803206 447846292 252138583 595214626 827259787 308276244 478386623 648693182 624081832 457021451 656622773 675903529 205497284 558927724 315574608 597417149 927302879 612619619 214003923 938225899 920976334 872591666 223909228 267152186 186904712 276609852 367723431 744671082 880580072 750336923 634763122 438640920 448106045 202541112 140532854 255840017 456552370 293460801 393058244 410824838 371789129 127456039 781399480 674825312 882896807 588049844 353993876 296642060 591384761 309810751 578430112 154237352 649816064 340428138 840593546 803831532 749807677 447953280 265367108 934068238 216544212 607140820 717676302 974042689 631634630 219289340 647695072 714250977 589120838 774818743 584420850 316671220 497064862 927170306 466727384 574807780 358799687 978561595 530891028 996426457 132882685 717886792 741983406 227574187 448966340 241061609 263545144 413483531 424262234 760716010 591941186 196845860 989142931 482234759 971785702 283418878 243972930 486024836 144116205 837139359 549881000 533864905 747560987 895063799 742400358 925108139 779163780 344559053 142028685 328987077 626190031 525388972 314261867 951293244 612767734 502956906 812837548 723966281 904291748 782942571 136367364 775528250 672709907 998868729 978881616 413292223 860949726 442876623 999178394 287676907 503677825 960463588 438846632 808510233 907924156 975184990 237783931 442426157 570545981 556336462 339401071 307237732 599348826 553093731 210980406 408824141 612846325 520227329 171520898 596666271 719913603 211783777 936784257 922290536 604009564 838322523 629436887 807261489 828666247 584398445 102464012 133224504 867421508 954751843 611954123 163438713 353373489 182750964 774097749 691733753 637601260 580362992 608682725 148927427 321061264 114870093 413650028 315537210 111855035 516949187 826636215 484710468 175859531 140770523 668863295 878585110 586981403 885985766 273979988 497705529 337297142 356828920 936646930 255560575 329280360 484421839 461590622 679664469 630767586 485570863 150078504 482260138 511223828 568227633 302776912 304310270 424937472 456665720 500978669 252899250 661316446 589741486 721978932 808898739 402680086 102531145 543535519 219245990 939369845 490774584 811253425 741076081 307794626 970014238 374262357 733862950 903778071 167225577 909484957 319803924 645822086 824132842 670905263 821487743 848182389 758891765 121475819 514885464 950096923 435905344 483395443 958061934 317461531 158518781 748445394 654972801 644471706 585207980 979898382 475742587 232009906 168063545 110139492 686020326 849586605 386434010 165868912 174054095 395459748 986273898 556967465 873441585 849272689 171158348 513711577 594052653 646386384 795040277 360709471 901422523 485061583 321676193 267829171 348148766 613050914 122342955 152563844 334541746 424572230 836315175 927402439 529564250 246368693 356006401 337311195 590988349 429396190 271199265 758819267 982801142 209983992 458443580 130188853 645709017 194895666 189729391 951785768 879579205 133938529 950421350 871330832 563451470 673119168 168145023 140115120 533525940 691087679 394669789 320185823 503996931 683490737 935627416 315776293 211139319 611759051 850775318 831532465 596294334 953454994 578202654 209625955 988209866 472024085 227374131 497052425 359212982 119014153 763749636 709668220 282733227 978919450 934552760 337358405 374222130 943495850 184098403 553412548 648324558 889081724 761478930 647787343 141738189 355494206 135890718 474835601 285432448 588870331 396209218 850336838 268412093 945661825 756723423 512725389 959567995 785960920 700852905 646137373 717001981 107481012 811880357 890006692 571259538 350522158 682831856 699083493 656610172 397691740 203982057 680764587 304322563 895171604 867296450 253602019 877126703 985203964 475246594 115053155 630006585 139555973 517473630 403240289 896850410 747549137 944189726 222981136 909487745 202631374 648118363 310664571 331281943 545715107 153679387 420489550 933953244 614941128 547346293 278707509 373393083 544860585 811420544 155843730 323844641 130110686 776079323 766497552 560777147 987083360 288849651 291559208 515138697 464244172 116944286 741436093 662509040 625158079 670405910 953802794 633752523 234277973 898463431 679517475 225918213 127148393 982826514 928849469 726008129 592200289 672612114 226611936 577543793 448709301 444282999 270079864 524666132 467334313 881198973 182752634 776034756 711357737 146904199 428902864 249307816 741080314 662123706 774706968 108564786 798474957 353867635 248873284 224727444 863936616 111795821 930923930 447675432 336634420 697584566 313757647 472731241 394681458 182078010 376887116 186682278 158948027 544192079 357597061 855567956 484300811 645468682 102228663 837983818 913916922 554215581 979193976 284546362 105976995 463672153 285557251 454570774 404114974 497026811 209360917 165462765 924331549 925290280 369089509 691228037 666959989 982987169 873707404 902924495 534728315 113252333 784639851 619374125 313998354 592611691 465975509 766591284 978351665 713782163 558458577 641356255 936507590 473577542 451171000 291775045 658805692 964526774 560120108 216943376 485223261 418661403 329968836 625251756 431700404 730184184 341955472 574345457 372883128 918791311 174078249 162637238 498852681 414999008 961418800 431598663 999984598 125853200 855937034 952280211 443565479 769064820 419839512 903255116 414341900 936115215 510605423 138612956 536512711 113249249 921594806 376941387 295622840 273200846 986611635 963073315 245284573 123435058 247186956 805541969 703469109 215921825 353510955 374913968 813075978 628407811 285779137 885998290 320868094 525419892 236052342 641717852 502918834 888726796 376006659 641807785 433781337 604207926 917057351 731761704 603010171 181439819 972045074 538382756 951732175 775308624 315480994 289023948 756962933 222499658 124041154 615447415 468948358 576751897 746780319 896186245 986113532 411631514 554909148 544155299 786531660 990750662 236437276 994895245 287517923 116438597 614588607 626954038 851912123 297756030 601870898 314220110 829979692 773937925 986300941 850257329 185937160 752158451 134471369 611951702 530261981 127882618 681764539 164790781 236620952 952880935 163252171 977921763 172437832 586630266 319731685 774622972 177055451 730013361 369826153 662479141 374518362 788415321 681591926 299432991 567425827 147387698 415344608 592121320 441119599 330312371 899877190 526836931 112880565 307175459 898185136 381483534 510469799 826647566 712417600 454814364 550796134 977120188 724504869 709120703 556073917 919817425 216649839 896355217 948654072 342465023 245224921 596552794 741919512 470312717 868249366 266139294 335987795 926961023 335748814 242461813 970063254 554843409 442410644 207517924 782008291 709165358 728697464 625244427 819454877 514632043 470048043 750006068 747347741 272800263 865294818 404330906 969570803 312995253 263966116 364229143 803434025 231376891 702196935 975881028 467802004 491199151 474480925 105913311 766253871 210977783 136277490 693818407 800696620 685062127 188770263 939701480 360957796 784251017 986385833 812916958 666982633 415505632 252493554 725743383 988302960 933051970 906379493 512717125 350255641 803028516 766086880 638463971 236318731 632137906 865226673 190661754 314115768 889790849 501977314 849826627 186768464 729217243 289005475 523939795 844104361 467852638 264154907 664625399 574486130 953948309 996111078 694662969 717616180 440591529 880205598 896784630 870261978 790578398 845068148 375907384 271925599 232200451 192088889 706996583 616872250 906528811 418716077 399189854 749978025 152353502 463781125 999315829 125780087 863685350 847764176 661043275 911838180 578390619 590996454 162260910 988307245 716211553 970751683 603964908 969835739 323749024 795051664 388973409 309762714 410132535 962547559 756089999 584900820 840099144 986159008 246314914 351349847 987924611 245424420 142877004 657969837 791788792 867654281 210020826 684275195 250543759 131895894 813603389 968048769 738884846 372724168 723149433 422030759 269514295 238864721 694046645 831901756 571955383 536860873 707265292 744666915 640059866 332984181 415892122 698869114 708460544 415515590 443107275 846292248 719759987 482536363 767237703 456608378 602634967 645440641 680027160 232892697 346413893 141326635 360757508 833776125 472395296 435186217 679403803 516277135 889310934 828030544 669808000 886979262 884264477 618165753 754727485 834695069 156305635 118506282 761602335 313599731 323584832 830870513 243827759 846138892 276671285 887543560 729875541 107846034 466142640 583351845 305409419 774443494 114382109 365932868 232072166 600299736 936268549 676010804 750555769 818972992 635018522 222261076 364202458 509711547 930306726 254627735 166062800 110861397 340745009 946108993 983136916 139394709 393638208 672464872 535635008 795297662 250633985 231542530 693273827 426345917 587799557 724165523 979741528 750164164 240802401 413334778 492987989 710543539 260885188 390857501 461737287 268667472 572221669 791087773 408908840 977087790 214614165 165768195 853352261 951571461 516604818 279751091 844557658 345278447 557566186 166585690 785165971 138949785 700821048 546187987 710650169 345095270 745045743 535117783 600416146 878974323 266147052 117159962 123760299 961634456 240455850 121198987 794211316 219986170 640495738 236178274 917643082 847786921 246158037 663131441 642655543 949532956 829171403 593429903 140715663 531776988 253969662 578143194 432195105 980014797 304062529 218093770 341156127 835195291 562028083 748883197 158815770 585440532 493744769 426054908 368051078 168831544 863981407 561267277 354329102 357592632 454754673 514565920 532492087 478903688 496914914 906447599 606234856 867273595 843228880 749037028 494703225 213510837 331220767 162574737 340474409 557169574 572506820 726070161 374989894 612185105 906539492 502374098 966036732 724284936 511668983 269309336 813870411 335887432 292153434 365878557 630995038 170866307 212133314 257348345 998263162 912226589 868649776 584385210 286712282 542833683 408596804 186532215 447071553 739368963 824403497 588198396 279326355 618812791 129692705 213115790 554354886 484026983 947674519 315704043 488803573 442851897 334049922 190058995 692944430 242661105 297554098 364313485 420908957 915912949 930941871 194496388 479724676 127395447 179400193 930103054 379692798 979786711 964978825 938230613 262621843 447560382 217003837 112931036 979965520 714657557 157303783 293386640 354381112 625754170 659425238 764736175 635657609 342846438 955160014 958205228 382513834 684834204 877234475 367415794 998751437 993319045 864958624 715815207 433300472 445655163 762079674 399248216 457572217 353658171 271068828 239456874 125005117 383410482 530670336 364002557 886446374 604620046 668862840 402854558 436657701 516941788 949997339 767357584 962602989 705571078 188725107 779557292 997767761 689065038 995292115 833800525 714508036 691987607 705154589 529402752 600250052 571745313 444305118 274993613 482329032 982641047 569065865 995259838 858262009 860271043 151603198 763521145 787924435 751515214 190612167 836921402 597580336 652409348 427799370 242508936 871738362 795926785 179093182 714610361 700299026 711994313 923267935 914559284 954414903 330837919 467996952 177343941 237652423 812025789 677268481 629834865 635944457 718467600 666485065 712300537 903569967 844365784 473817925 359717156 873156868 547798065 375918495 939061036 631222962 450221644 764131060 548033106 160717415 475206712 714833641 960523449 753585533 522825222 976588008 237221615 221184034 890996518 224338126 296447328 651920017 810884800 331488073 808119291 658806702 969452805 430940875 104348646 548570266 455612657 373206474 410667322 724735534 538527679 230721459 117476913 864865292 299997903 174298113 553178911 840685653 891201590 712464284 455148683 597419110 601226098 806113267 335811033 110872736 769518579 130735373 569993954 191000758 669313402 744985339 652541778 575447709 738661365 506460704 718411557 662650977 721070586 605057624 953898933 461565945 444178839 196539720 942706424 901284784 181803820 700780775 980002558 669916571 774692767 859143786 631567500 253409228 655865698 134930695 871237912 504698830 673595421 350552633 128807749 197296589 456876193 711348420 916942081 387580993 618234789 842294559 587803385 214584550 780068233 620757491 930824605 746297087 411147283 117006821 550283413 221809699 746935159 633507228 705341394 336070585 497360505 127321158 218567105 415989865 500283668 834455503 888420414 461035666 811505706 397723248 787834205 456849356 517044447 279061743 945505457 582462052 622974595 260480994 934313063 141559843 856955844 819189786 943526537 371991681 369064063 360412754 199183932 444058616 722537377 570236288 792876168 340607184 184200874 188057700 665329811 738618116 819896177 453811922 122404988 124703141 271275923 810933399 354244326 858395099 944009904 556569075 234783994 439821782 987324412 362946529 976705209 287399429 686813750 424277730 695115125 354807278 653005900 564906417 566801024 743222952 745094006 551480051 947432722 643437215 636931315 331812234 564794860 780589744 369100283 925028576 433355611 529000700 635692069 843926389 632991331 626725587 792601722 270992036 266777138 199139491 815253866 215649613 321997067 328153982 684374057 572439002 195737236 741999924 493760313 278512988 303460821 381511591 857259050 881727975 558312222 507799595 217314349 313960156 908992900 507133354 610837837 661020460 820084670 519747076 406703395 736133270 588373038 153824546 922903170 874673057 427515377 536407493 852049706 793386186 175538775 610292153 900274799 425805498 473841642 650348514 529521664 758969955 371588656 374001554 560749957 664441584 324122844 143389074 568661783 494983278 991828079 420778428 189262534 308833203 177451234 406537314 285133076 173983434 104266753 478726129 420682884 453539368 191715038 263501731 472560001 598758336 632262870 361224257 610938189 634065851 522897853 153578734 611326473 707509210 650624298 437487216 652338636 188354372 275530263 654686272 395650236 785163153 726429047 707192761 630145213 360444988 328919716 670858660 626902223 664988560 378642434 272531037 984274080 361940853 152629945 349137690 978597704 940307462 492999818 821256887 793852542 206597794 560333613 154159650 431050148 864486105 512619581 651647680 444170483 161263943 285440110 613178610 210639485 490252514 377401070 988582689 669726431 914496837 475095269 421277223 395576154 975746389 436879169 577177602 851141585 513538232 314393958 893903199 585982287 160445283 820049675 986313704 118553592 294890400 721548966 399022531 546147407 499347066 472520089 340469925 857116044 583611471 898261074 538641129 782842855 749135046 789445003 639361708 182286157 584816338 765341568 967427977 170916357 467763850 782885331 336578008 502236863 626278385 944004309 170896275 375024910 324378652 855398969 183283063 245966892 849506272 879695142 440466304 630955823 973684705 848215753 666366948 793794818 228770779 973459582 170154861 233115909 601628503 836232056 440276940 764805038 843120164 960311268 833315730 804181265 756694746 785250661 162930598 497904232 188423763 486549490 246124384 646647573 555450959 106238705 794509342 456618943 889783329 987360690 908483359 354894681 495150758 139915726 670513521 541266096 139835122 159767879 440076747 900979487 672264588 507137085 622794100 119167647 696515824 838066503 591392856 227404454 679184850 427640180 241489998 886066032 240380703 334192086 546683499 596452433 988389086 125098283 940550946 604613151 974692569 325443547 728703671 654348246 327806422 310778711 164209810 634336757 591354816 575968526 729134155 120757461 318687468 821710122 952693976 900392236 117860569 310489254 298368787 477673447 895547238 173989727 555370568 509035660 419772269 214331749 324173542 798759021 648836129 319800809 971299410 329540279 318283128 323880617 568255027 487979276 635997307 382489027 345256154 301268285 352374961 966872997 286514898 140174041 724772840 814031974 398795224 418238583 810820042 420062658 799019432 267725631 333300574 285150800 512071378 204391843 463047999 769379687 819369275 446924493 168991704 729390028 313857850 556574508 663671391 146574520 559565575 958213140 204741758 501614532 755190785 275931755 122982099 231356780 433432119 230994266 723037174 247911992 368601440 466409976 205724458 857860762 610843854 510199625 780227919 195775526 425640305 230819437 592819276 772086032 314045787 678889704 289653190 458046621 496233996 369324772 987218071 652833731 917230351 321983182 444824038 802608757 796767672 162919453 813642613 161383122 516541898 260702905 350526965 357151855 208323273 953254253 240927940 910352151 960447626 985055224 728641249 512310576 899761365 444823727 511305011 139817050 868108161 421007642 666516849 447184994 481223585 378809351 126397217 572960153 453927120 756782993 307423709 271791142 193195097 157010760 244519578 212954818 195207456 274850056 788326964 976567691 144007099 561610918 835779346 578492770 148794911 650727487 636243160 722456066 893241291 397200703 689623237 127374006 168285610 548791030 410202547 201582341 167694364 307198351 505683532 260826389 246983243 687335620 176388879 100732651 657941434 830792296 782171810 369198435 713944538 866451863 886804271 212899002 924196490 915467385 499522825 424180148 286865579 273940045 252638236 963689451 776408797 101265336 966242070 478500172 639748204 521501066 482938350 762677994 128676474 740963938 922580302 151987511 506619461 550066444 748739686 908350317 229114951 555326354 292750605 213693787 842767211 557887214 561302094 902196899 168748613 694162314 283688931 457570576 477108482 207486956 976265111 842440446 713600640 904408219 522375735 366371753 600936779 587840003 901255941 413369094 454532132 370708841 636653743 678274852 529696821 364717375 309942064 570232372 172641826 446207333 899655356 669874512 229851817 520697607 437586741 190771004 893742559 156402495 826673026 816860937 671230255 261554861 926651107 887489364 742069401 149012933 454823094 881159594 907376762 520512462 500200771 725697506 737542954 531596153 789686832 730591081 530730652 125984121 837995381 988826326 574006591 225793886 231248685 779739656 746566082 574959663 845540522 272474280 439339176 285011846 503471360 542785943 367195613 302838242 358704944 635769802 195556945 746767216 548232317 770869494 730568564 829705229 158535994 666848048 582505706 385440349 105128456 784295648 799943968 119321691 911280134 436337693 171276995 473095503 490578331 391025807 835449754 780368629 270090338 468447385 650874919 195500764 118208889 378979701 138676628 930068556 439277855 680008040 860316853 158508602 736349467 725073767 887806345 445320636 715181070 628605925 285183845 944038108 141297519 489164254 194746002 288521193 507263483 220611593 227439858 349949978 940698930 969568247 881232983 769359959 814255448 398529385 764082331 218421770 947362748 306139217 925440929 107255386 465663273 741328962 630086679 892972899 347540241 675040998 485390548 819565216 184000872 869786485 355623719 793898687 621377737 999080772 964036557 695329814 233931098 959851750 380524903 550560586 988666295 521352645 183631108 197482256 804332783 302089510 188561575 986605466 268721576 783096520 372516992 548177935 101070557 359911637 425678879 932006265 704022032 962718872 620628102 133243555 412506817 386403207 842349374 941329598 447086302 264651738 790083676 438557256 439760669 261698853 190328174 433432495 288335016 695259687 739952977 447425667 377005188 673383179 422371446 503521120 892165898 248031400 942714033 452281194 152513610 229988601 466253747 397116581 446805937 465678076 849382772 945642182 857487369 436244823 549919809 321996796 828696124 308641545 855467352 442035250 714131774 328495222 859819519 676391545 530211169 424421876 517169493 125138092 485252974 630055818 107682327 720097811 740201722 687461594 378196317 298506617 255785961 323075368 981123115 794090140 169853010 296740272 143884045 227189520 394861975 340442111 143719189 396786328 572338384 236062748 127973384 848488381 226392569 634084969 463736018 970914013 646528105 373159473 189532340 744548470 882807132 107411492 820131610 560068816 669079760 405258424 982834234 374953032 965038821 848582149 316701141 553176904 563622584 799451981 246005088 416650679 680186023 858444160 653895871 395113594 173970089 713818232 276007440 556340784 468909025 449658382 777677209 642221205 747219268 185747695 105582385 960015018 919923409 923086568 311279871 661114912 951230395 236626576 998849305 457259783 864122268 494796518 776602910 928340761 246097165 515515451 209524611 489088426 125608862 532224524 993770840 517020254 571375611 294786582 230980398 821374207 188721213 319349545 349337861 873500701 755639126 795746007 830074875 791382242 129836368 991798586 994136151 668011658 570393626 565168645 812050604 158747878 565402996 205042145 611917700 576226553 350145238 797738353 628967515 404571946 678930210 201968043 313000757 620575312 205282959 500218775 822503837 715943727 769374312 759669983 933461636 906973176 210410093 169283716 847419361 942156783 310161585 441172733 486717192 509073711 880469888 907771723 672671081 735169233 711488973 338066069 600466185 286432311 263087052 173158172 576107808 493514142 144372648 544795401 253969880 437967085 385637721 481330690 296207237 142702078 150608123 225112922 575417474 486343124 348815528 728384330 396992797 341142445 397283428 590535522 597644780 120324095 600999391 610438039 957964626 455050710 145330833 925169657 353751221 743000475 107445327 920413545 422950830 336025532 598069551 405996960 991756335 950560677 625178110 738929618 733009623 316700726 238804933 641712838 267109813 792789865 432707128 798180791 921147608 674234270 603288600 403871582 736332754 293222157 331821631 886153670 455435750 985415600 167755231 187579685 206253031 312427599 418117681 363414299 659208396 999579488 451100104 271883216 735092181 535912428 803430712 580799788 364658566 372080634 449564387 714014447 480954121 705171417 297395197 384773902 531546763 506648968 108107080 978710190 280731697 235685815 361374668 892966021 366524046 397007217 159894168 833114752 531719181 485473638 372351360 104521482 442544899 351316900 297551164 397088993 879149628 468439830 477400182 521125985 153843226 779097520 144140613 745534975 960666675 412431355 982139867 926377209 302538286 425986960 127090802 667306414 299959057 799239792 166982737 912563097 894140341 126371361 996150198 606130281 985164526 407711514 513035769 974502414 777171203 819771900 908097934 616205662 378206196 495529163 580067721 186349429 496913421 590348066 375470414 105399426 429250826 878807960 556632330 347214432 200260511 640402342 462444036 116680460 691398690 754409753 132494712 855792724 396650809 292724729 884855231 279878458 176521840 534533166 419010928 831108489 311385969 560956926 134350829 452533896 558097211 887806259 995026081 482394287 431910724 224046112 901026246 802682749 829809089 172541756 580202411 763996722 253508081 973616025 316545337 692553337 540560789 571750434 935751785 307592250 239834772 139080809 155246475 103798221 473483162 646673050 110884194 376555796 990279771 866308033 894648939 576534794 353203109 425658957 410786730 431168702 158763351 861823132 639636053 263936241 763753098 958625892 889418550 949912937 551914714 794484505 865886449 434833719 887651449 783244724 739061533 696453077 315190954 576282686 645420470 765230039 715860978 674846386 824846905 832042438 282646948 101228745 344280985 649085364 325935488 932131553 513267510 788944112 877486072 962228118 931631479 541932955 980462878 177813329 519788208 997713874 674457187 787575707 373568521 292821592 217978251 567261432 240710406 139699764 284484884 507029967 251702372 211093473 328145585 984350176 332808121 523032043 352717494 812209633 568689184 542799324 459909939 695501939 523799105 428599552 680135070 322096535 993389512 995194955 912365452 272794322 930964501 698074446 361748332 190148137 700847662 244263599 884804836 582789977 484366070 812605162 195023299 590491308 754206643 429804852 373723689 464023593 294555912 290624072 684790716 554203682 739695147 920107281 270092907 745891036 533076933 796782746 245991670 137345436 378206921 497941276 763069590 477241588 455511509 905709771 486803535 765381752 618528090 690222955 790040471 513310761 458638784 587811073 620271906 217107318 687539728 947719226 335714980 358144230 758863333 716372764 203714811 485679600 251343082 708035972 496800259 857359707 979124513 514284390 839276136 315872061 473104434 157122342 789362807 681146386 220280755 441044156 743534925 768450301 519610750 988129852 181482190 410369038 325134686 990170996 178261129 434421317 472917975 414977681 642097544 727470429 399349017 181329500 410788513 820057669 714907485 580218081 721979906 440442032 240911615 715069258 598949292 103469389 399236602 442947645 183487682 371393341 536263914 178037413 106726223 342637541 391527862 927623604 726193465 254821611 577306608 833793098 463662983 977314097 790449707 199571618 948445801 828011298 216785726 978041821 989591431 512975822 950545015 173934003 358626560 992989923 762437750 667983881 631743013 596375340 646302617 418740095 272991501 342462956 506772520 174470707 610810919 570284028 437753891 717482952 210024524 994651756 242894918 435795559 614245715 341506737 896881244 423589211 537542972 580654561 728840825 567317595 894867800 809895345 530351080 487946022 232938468 797012870 980099368 368016099 916333736 674499225 438076629 870637983 875084506 889334375 670372284 922265717 847830588 622361763 725979618 685905520 940084220 570161232 863358074 580890782 929055110 841336598 545174210 166995696 676129751 856870641 754909025 972371394 246013223 300793020 313826203 802294588 151600473 447490363 647499579 432112965 530875679 948096847 545063704 642554093 792659396 585990786 876588351 390490925 155175424 211798667 837264329 137968093 290380450 413003439 160635601 878156915 480136080 442172736 998421405 286404029 495865830 771979525 645388302 908424271 662499981 260356434 566495289 425356517 892903106 622746052 457433256 661723937 282310463 410401546 825692320 869286356 401124021 464049791 690756653 193156590 713093672 446506551 281635963 885376103 860100712 205501318 668906590 974092416 424955025 901092926 573385089 350675438 963696801 592609704 165409565 957921853 534056955 886474928 833357466 980690502 536418998 722599342 925609351 885537185 700250765 584648708 684237276 917335397 744869771 462076133 786029852 466346931 685935206 317585142 919702070 383344171 664618958 239768242 324238030 915523355 662689568 321430759 455238586 139487188 345339873 734172022 366275610 802035480 125072966 538057218 989702460 175428699 243230832 901609239 706400728 269694844 363912250 674805447 988804865 759524043 757055040 718683440 832404323 676626168 852611747 786475953 370939048 103406409 743377008 422347725 798244654 923598868 519109688 827955390 510082593 382862782 490022667 691203960 750639340 350137030 130504301 311505833 962232500 185919690 171712188 679208391 175041960 431812964 536330953 611392548 771141473 132392898 350215179 540398402 499517760 709538176 375381664 625117416 337581307 392384025 803596178 615104838 587387881 165561310 243201187 402014040 561281840 250777364 546673700 175177223 797822613 584496821 962802236 998737625 257370171 835459246 946864351 969116785 513532314 759782288 345551949 504591849 788710573 291891570 648112234 781144292 804588761 544962263 119042211 572830435 732315101 623862225 603344537 322489602 514061720 394992659 266434383 877291464 125288212 124885032 142425912 922710335 604933991 276184838 106994829 268242014 338189008 245807390 246627131 720120932 743609513 726514428 230114702 569865280 673824829 947512066 464278626 454019107 836170987 843334633 349561189 727249503 367664959 677737550 706516528 825018012 303071785 595766092 200590139 379913107 444162933 148965637 502736802 347371280 266067484 744894196 768555353 743681239 776404991 767247114 949183491 621427087 573494129 112250830 644202723 559352017 785208791 581127032 952894659 968417082 561759027 748545391 491674109 396624435 928255675 984661217 808539568 137065403 860688999 153214873 675695159 807626547 283793041 735154814 311617843 922277672 235928815 163574382 124177597 314041783 867667452 947954073 238198634 491112495 457229448 300702642 386927726 242220581 107530139 491637467 946621639 450769176 113182242 910115202 622411094 518570058 495876582 745920184 888222319 143478836 826691297 500461623 695962331 732674838 309052926 338451269 558542181 874161911 964044558 643867168 742103073 897064438 954080550 354339281 477289021 453560550 406923124 632381654 278762936 292152021 357219108 312985240 272976650 697588442 593861230 143175597 222181434 828291789 920540986 975979132 358275434 946102481 264208985 945772718 817682922 182081015 939758285 905109838 824663321 234949370 431268634 283756030 443787467 784319917 924745456 111702469 743556366 320601145 107518911 855750561 574903391 969316026 736256465 969691933 303056823 979111539 781954821 741683286 657786178 513013182 626998997 926191687 759422352 827554391 300974797 519236968 948183106 537112755 874298010 901504987 265678019 568774332 712286352 923532041 880413361 854239772 221659172 495204238 890411831 966568141 647267789 648778260 602263302 437700959 743851358 159193513 869394008 667153114 559371394 298066732 776518869 237562156 884594406 684326203 161696016 137664172 133541137 968022399 189967092 497221564 965369586 538840234 373707154 729416601 566377627 844219277 571294501 979962201 103825194 768141735 510580046 848598324 127816381 989494720 249053228 747816214 752638334 164739824 218231845 855801680 561412814 734714568 319069622 766601430 252936119 995200510 439521902 947910561 220758585 290611829 764532430 791573709 429239082 501984215 701246007 336065138 246839413 944497260 383519867 969150519 865872783 445379590 340387535 410782060 517186610 158518500 854204860 154847962 709563530 174959070 689396971 824575009 944944344 310003943 769811379 525892611 992842426 543907009 976944385 959613945 264032156 218862890 538239031 716623301 873804485 753699870 931907994 909897607 168065286 513513939 191215016 738466739 686343257 127418597 489062297 380024942 797847583 320502770 247347338 386989619 981059707 273073657 672361609 722684485 703159024 375778207 152605003 363685232 759307667 958217943 507031902 790149588 166297078 147238321 476392785 920855671 242358418 731660239 533468137 909510275 635547601 959759233 737056161 203789190 198637206 369585598 289519165 928312754 821596611 927389062 152881279 397723495 536833476 368530949 142821244 417397160 405408066 825260950 307873108 694505028 876391815 867051217 718206399 673352931 773493282 668745889 118338608 841257380 673848583 557306087 146836270 824858211 537394378 129998107 244613116 185331246 528786480 116927888 972227539 280639388 645664320 289061632 747430900 984128934 875735218 539300712 321035410 103535700 904277501 150084786 516700033 867953367 799918827 300121149 260420376 886066538 964563150 501414166 689658360 572135745 852776251 611206350 317390281 558051624 509909832 394329653 282518407 194306126 693565787 954752164 467571014 759419172 256196854 688944832 694563184 183776743 408343746 155341814 981617802 469316250 573839175 864244415 538370239 608565882 376165039 711524734 639796900 466774871 777800456 538604341 410636132 965911006 240086171 222511149 450200256 203677829 619871562 950470922 615215154 424948355 367734703 386956573 834725507 134255833 500431349 187231399 276250741 867801735 565737258 828686895 913877912 498814825 267081920 359922841 521271520 605191633 303731792 284452528 111986714 112681227 402427500 711540685 506078477 402761559 728824015 506705593 425537367 296746311 159581094 674590612 651678648 530664253 680946718 522624354 205904576 288109692 986593979 512518846 472159120 574228664 651155505 306263915 607173830 971554232 769332742 100799296 977618585 190010340 961588677 836922279 760607060 668872487 791325823 933387096 803364878 560394160 155998509 869434689 993157123 528965891 713217227 703560724 899196097 574965998 396259216 632224198 472975025 886371733 211015291 645533658 120202852 395707294 313092894 268828019 648062242 822331113 619633290 165155017 984362906 315845277 972947016 667200368 366915144 433560108 688712653 276149452 298076663 387896136 522283688 839950666 377016608 804477004 499181801 523020046 417093477 302240008 567507087 951302858 976270363 705523634 220798444 962019984 488045537 580918572 837194899 159837773 764186992 870272884 247062083 428666850 762123284 148798732 289865459 603726749 782388525 637528865 109499393 658943478 269046969 541856020 203432132 190861738 603683630 814664646 422457985 963521385 374921249 530844036 565484767 914177004 741228728 929653589 642137097 186993815 971262533 381698623 455882159 664982421 184997561 171254379 591384739 864873682 153587186 214919754 934238119 121443210 669028050 671886357 179788002 324071365 918476706 448570955 798693574 923907368 858107275 548524211 666279557 851841562 974261442 594505020 489576579 282063133 533457287 585351596 931715667 529844455 462562849 605220907 554142475 638779930 911205450 947780527 416490845 730347728 985064985 463746431 129695389 197953579 666079813 225249222 391415335 224186571 156339370 511450972 841402415 359061882 832329439 176813625 183171466 628783999 858487644 383465072 154403343 149228202 708190087 178559006 954251247 123517998 173912825 286256320 613280795 291791983 318563455 604971465 696918305 694531491 234376985 292564609 770510146 433305297 799692944 775814803 616837093 572758011 545879130 579084831 960216262 649402921 202866126 380970625 636219976 138472205 917572604 107911527 232851519 623447479 247499815 730566884 743609881 159968205 199999079 380919074 450837099 952523049 229977089 856892409 947590881 927286729 129260650 338943863 812411167 737171607 453571206 145646329 473011347 875802994 534235229 533239698 502146545 632608412 254604833 256669490 762671484 462076205 649001030 828708114 799703637 557767598 973700967 105625859 773736375 876635212 239526457 781466659 263510672 660493799 609245871 111993121 467326358 741174515 878027814 624023985 997298020 164933810 259979861 686886148 676993047 522308316 538551139 618145216 515829249 907043247 930744107 170656385 748852233 392357297 499330680 961158728 815754831 299144153 977698740 560840061 587573475 978377660 372676046 722111990 251630451 724964205 699470297 914131631 317798114 681659236 920676672 979553683 890174593 488562770 405698273 445756933 827193865 890727594 296003568 922357402 182719591 611972609 461274747 539868785 118581280 499170134 491455589 121939796 637317372 458986524 830014522 148640852 533965274 562633697 935107897 514779931 158947955 174237109 601622965 558237394 654977007 325197337 378576767 681837885 946126497 693542564 297037511 210791429 835015720 671976291 565458630 820386334 382510108 542807254 548597225 323571832 611643013 758685664 428560521 746859116 459249818 137358150 154878061 467030166 818985411 166965536 756260425 380809220 231610359 314031912 412606136 153466697 633328548 493501795 967974339 774569453 821265326 582702758 968924303 647740478 196771437 116262778 409975299 982478104 738320392 901048524 358019402 879170952 188401316 755701563 538760505 342094687 843866139 394723921 385067423 122518809 703681884 284182471 472511746 462748002 400592770 977891215 295281964 944624758 233424644 810920303 727168782 798846848 270728042 916579707 225481327 568759323 956340248 427367013 754746591 730237565 808481279 502921527 728188089 881512604 335813306 888427871 621794137 499575872 513188885 990422853 175536603 790462640 841132844 513338755 154211099 443235823 404616626 817751608 432830749 791244982 802095965 760962266 772657357 214902774 300708631 553680341 256422070 431260947 536001056 355214868 773433166 958753897 265374160 287533963 435597499 695795876 714306026 532813942 119176062 729992747 971623055 654864366 324129589 138088608 843546260 847692222 892152104 324225231 523357946 573754918 573168724 629721626 695590695 494829794 853852875 581246372 618785415 673367663 213785290 659807151 971923542 439003994 815082534 616660661 279904267 612689361 138769871 140166764 108358322 641951974 190360291 849937240 526127318 662126858 522437779 352633830 116561201 511429761 238122929 307181484 932939662 981818479 517432206 808574574 657333555 650338059 343354295 314098004 576236703 601375805 553842823 902699370 237313695 737761634 675015134 563939217 671246793 471908767 387332067 220368943 405197809 778206852 628635957 628808047 813194357 246999471 934251533 530245731 244200146 248352175 955701696 937701939 905390813 824894932 932996576 522663941 610308574 202708802 887357947 547503676 231564867 465745792 274675440 457422560 903417870 404115624 412404352 292689342 202211321 568211791 970403173 170206362 383266734 602903662 317886026 306220083 629060077 131183217 898745523 871269842 627099900 291550425 441878362 888470271 207576517 332755278 978391943 384509533 803796123 443156964 436638677 209769306 525385926 662951661 941081171 843437209 217401358 445397863 670386621 270937589 434370063 481914265 588163946 460581583 245651993 749168103 533035531 457138871 698148177 900797304 348088886 133749433 124725061 480430004 754964782 301220838 651809987 980543907 148896063 387598642 466973930 148335127 233392597 658062208 240822275 958027540 727533270 550131738 407444275 681967786 251002084 801014550 548236424 338550867 900593823 348543892 368261895 893062547 294055763 604983518 834301337 621267666 773400771 992758120 448332001 615593829 709052191 330434811 729285221 303310365 396766697 288497153 344485624 539892380 484103921 405998165 996244910 581715747 893864519 208888283 285855733 225791643 372911345 827308523 208907547 908869878 370324007 975813327 949834202 658524066 442352031 611996711 871242306 669511479 691207670 856292843 658614174 115823517 967418541 116425998 257557665 886400337 997791084 317928888 579035442 888421486 805677144 753182776 649857468 692610388 860799128 394815502 139099032 397579092 783942773 382299171 923373207 499264317 215680951 937233390 855905911 902872390 657260699 475625544 246313612 360093661 928803569 141982797 998102045 900880333 525019209 664615344 418660229 909457430 900988321 116667129 355120835 563301726 291270321 571289677 691612732 790606143 993424262 663235990 161451490 351582060 795923895 306654802 996120364 558279319 225621389 246344309 611083816 880660532 784665388 211203785 820424346 540181581 592985474 260884803 629241628 741076069 282112891 738021352 253879163 292999672 787748446 772603225 701830067 101444545 894931683 693789105 233524268 351500633 417333017 212260483 747030478 181840206 115458188 444490042 123295037 757426739 558895916 436786522 335603895 473374061 734942574 740168643 607533129 589335453 893020208 258137542 684547554 453692230 194555220 772212438 285946224 192443616 470005170 927644415 457808722 287305215 862032396 941462069 987587866 234207943 307954379 941684308 226861943 729127137 962078949 270873505 247857970 269774463 117896635 423190620 945012264 576167079 870113564 399485964 310141925 620698313 197036319 875800375 229118924 199047841 573413919 756906209 143284579 391177768 435856226 860426223 491156283 261163912 849581026 136189383 821590451 486744125 199008462 650163795 659426551 676781044 940113476 580051917 369293515 735590838 465673370 483652560 669625588 948041727 182762317 912014363 630128075 754797149 587088499 864414389 667776194 155962074 805792400 851747541 642665526 835297257 883314462 810686090 560562486 275176395 409083742 273761076 826616710 250686205 546124542 833970140 887132804 753344454 570033713 335089465 347989324 918148118 318709593 998491928 399578475 195929139 991351490 938192939 546123781 818355190 220232794 916847520 860281791 553123076 787018859 952360844 734410963 713857329 376819331 196101656 474263010 850402783 162944800 376025732 881720863 729174212 979963935 520974168 282572376 747422631 980047004 729725815 500950176 991775917 824502694 743141962 103557651 661300469 210599357 447607961 270845095 372072421 349088294 510401255 154466273 694151451 184109226 470073446 369503090 986673948 590327171 418013464 888782477 345301331 897841056 918378083 955559175 681709026 529925757 459783663 382584214 493224346 132441447 641523654 218620762 127134680 365885224 587471873 828006591 789499114 263096544 779543448 680422502 808612156 133688328 125208229 508759846 636641150 136934281 890280134 690153312 643243896 692439555 488400717 525350278 622473229 197307972 656672753 224143341 611880980 808192291 486202587 783733888 504071219 558991140 119239645 216408205 288231488 383971601 175058642 352013873 470608473 439168642 440537116 417473171 471419195 898096835 995201783 797876785 184272181 694518210 856750347 219797297 524686944 205794251 808062750 825527898 414401855 277376652 874116454 700812518 664922229 106369843 715122916 937219087 720708678 894612433 727907406 805384743 514939006 893370498 980246822 100413376 846767653 510493781 412603028 983955405 528368575 809685626 250574037 346138601 972086773 794971820 155605152 545876653 860633757 411598184 563703314 762996299 663831474 644772282 768269457 497002883 883615076 625277382 734148258 109846243 807208649 202731183 371088018 496891847 234760015 419027114 522344517 372683372 876722864 456216199 211252103 382268989 778140639 774909357 769948014 369213154 962432225 419167413 243815758 637375209 450080662 289236952 616249525 167407598 839583674 462298523 466117514 369595999 758970571 570384829 110134925 103373345 421789042 893813458 261465958 540292140 749176516 282818703 598999544 505370225 200503772 452126490 136354114 755781703 578126504 259293356 678544902 422984833 849641679 503999606 518808589 820666629 707140427 585129935 981635461 888877225 230339631 345917220 516931773 267415968 926049110 827721812 321220489 893354866 285928878 306918301 525346454 550082032 247791938 659325125 411286555 262106227 917072178 222387615 982862974 299661359 399650322 251011487 257439481 151052610 126506954 802716928 643133652 475240972 346580325 765159753 727662001 138136281 975205276 475776567 402657385 619665185 568518931 265174385 720026691 481856805 607937168 619365584 344911889 581627116 140800354 771386718 173022719 103066858 539381837 283348716 830460500 518501293 667142728 329721168 841655339 443316245 998675331 707799164 719828554 647635280 453633394 359090054 850097117 461061684 874592529 520832047 658314642 988180438 967181479 475819844 642703161 585902481 373778267 352249756 330943522 461728123 655276040 925295127 101352121 585879764 292983698 234429722 135630768 508059212 127258659 489430675 253103929 553627480 846439073 738453352 309399134 349815160 708218784 750601629 918382899 873446418 531576124 337907821 338573116 278000348 954929053 448201470 956305971 331274961 741924404 305720126 576345867 764006914 197112709 540477070 128815954 443146580 703560174 387563278 339954812 685341462 300493912 424809965 264177060 191327016 663569527 716195892 816351964 618471804 304453354 205786340 751763281 499851821 755840778 144688525 794338313 734189618 498220937 872433535 712409487 597946664 490411182 577314553 498223265 118515875 900017850 513778355 561362986 991937429 207973474 663560949 681589573 951413599 186357647 213347424 984144402 978054312 861369170 983370522 711279746 926223517 663980887 150839623 848313547 483940533 985256570 170032973 255671117 595045815 636117199 304717102 891353587 298334776 546946500 406102584 976655539 116217101 754501178 128191083 492697945 623656353 353067857 294767584 862752552 355134221 414163218 574119461 437916146 559764791 210160724 232610326 470852256 846671670 762794574 176117118 630422912 471520090 627432761 748199849 423400522 374174903 182334543 260625095 730342561 211939204 889845953 900358332 581703875 879810017 787514131 965186560 933675125 294984371 821788651 180340131 717108939 652135396 726966774 680592395 459751421 724480537 317826264 924529984 680497136 973012623 598545629 919962937 100190133 713564968 359161493 922287637 512983956 508315914 920465637 238907543 693958937 959291516 721956225 237889128 604022415 224817534 226317877 858432103 718482708 343357347 538219775 317618353 526103449 923190053 863657412 505396995 760054177 604170017 379782361 707948082 391112981 565617871 918845671 236811098 333376444 469740417 296687956 705187585 787906209 745175419 476564941 424115824 113951824 865686072 841322186 442178760 326432285 373806704 366854830 351068935 398735353 156852984 854920995 925583370 394035187 906449474 750306171 412273298 732977163 868859763 183885288 285628267 494962574 383465895 444007186 476707330 696019394 839342569 616110644 133700117 823321198 615312681 523707215 117718817 220968961 492866453 458547930 382267233 691763000 255081515 565157891 304860848 848555456 633959513 325014663 891775392 472176712 345280702 304387862 383369339 739141667 308410693 287570556 346468328 913407942 122006298 524062269 989465182 949276923 110188700 516617966 334969399 808528403 467646188 450266885 741552873 418847789 253532573 392278009 121452267 438748638 378166398 759978689 409800025 441189920 699205946 813206632 209647833 790832709 903405067 222577266 327010327 124132634 859104232 435478570 723553614 242956747 457411587 619994232 281679307 474904064 142638949 482774193 198452393 397695210 988634031 678848431 428227399 864817856 683737663 859017252 281114376 517541306 314601757 111492052 434719937 906796192 965962628 213194797 720102940 849709998 376780386 120271975 958976766 618217896 664184739 624250549 996077810 272844195 770446243 307674737 541461313 227769084 444099016 793499337 644631617 567066398 103654544 995407153 226853023 738687122 218236777 232557305 118788889 565941045 639024238 886694440 985371524 699343014 692028383 168727995 797693079 172107889 559039149 967060652 278076521 893203595 705029440 708886207 796620370 884582483 799304032 331177348 144677054 257123194 156495192 322715403 441175507 934664505 648891460 645294210 344699485 921564462 183840348 844310766 442866505 783023608 453300416 512103471 726319733 284342804 760660543 667053569 388226734 969675757 791354202 687087273 269831975 578875555 970653207 298561651 246439529 130760939 241722218 911774803 334316048 233504256 224219828 925064092 496088494 507783300 999878931 258547236 466819366 429368118 297171712 640736869 384430044 839119427 426082537 353297920 256495510 154500107 905140120 837467734 319030272 560925537 985337062 130574070 857714276 887657611 263266054 295561002 967333546 192332958 776420062 888432632 100362666 135503771 464130556 550548108 227751256 894578956 594539506 431940316 384886048 961279895 535611636 486430139 686342565 540102203 469270141 520322022 519824366 282941240 643304889 612189220 867199077 913203448 622028134 706382881 242885166 592271205 728242486 111951357 201863022 500853778 771071470 983790246 673537442 134408062 586998818 593772717 218912192 524820583 622570552 804673747 675031244 848423792 592416495 191699228 363117342 863733984 446166993 517854936 393975131 698628510 462534509 239281527 515979420 797157681 597303545 642646942 997594278 867115856 153920042 871007255 698092383 784177471 563409759 836168524 879178997 584894905 686913685 296942245 556082539 124251594 427148828 601265415 935168989 378259724 430186986 496627789 876809218 826331427 375860771 809805000 664557005 168583555 582623120 147356710 658597964 229535840 741445089 370485056 882888757 668960621 335971887 417650377 986374541 648682969 237801505 506161973 382138154 307297024 455320004 703031277 175840096 684941094 987382843 323541241 817466726 509513094 893723789 191342424 687545393 359721952 820800268 552102875 883223165 585744665 376442313 836465452 204343973 791597955 657513494 788563026 287753827 275669535 236594288 198119157 229966489 214556227 379186908 267658416 869376224 906216789 497963438 410310804 215016005 966432795 805645539 520690948 563014276 488503942 653879743 274461118 197695998 258604899 116410677 904591028 862824375 198485344 224228215 271417701 730869165 643197562 349880728 921195386 937106407 846313348 148851763 429043748 425497612 220901608 435381232 805468798 649492676 787713896 263300502 381328109 279883825 115697270 129185251 340448453 451671248 868660337 695179921 541962374 689584956 333824030 798206238 768400693 387840536 779443868 873026231 860705972 657973339 738539695 246302578 365054194 450717095 405261397 949207841 432824825 290016787 779198653 121791162 800111602 701197531 581328752 772962347 584236146 131647325 785657191 393267079 633373026 139490512 370662007 784809910 882065169 450255947 725225963 113929708 891328749 682369900 389544576 727032808 203705880 125992980 920857364 859778555 250025276 622110617 939899994 320505467 806359156 860258147 876512099 532840770 593721887 641063392 855790262 783115556 198320105 143563298 299430366 592007867 511340579 374062892 991538913 504903517 414497235 406905082 472408476 897960240 976498323 362446301 368959111 152783451 781943047 525395578 409076358 957919702 543654505 822477402 472658029 800568127 280478876 178961940 682030269 427759587 553502305 157303969 892192021 724265116 932441449 900424413 864548522 972293552 601425677 504776240 120524068 997470580 512916242 315592179 688797185 914474827 337336525 947044562 793717319 134991763 790846115 737462094 823513705 393032861 705391938 491218840 237491453 951300353 797539923 473183742 228188023 832768887 927916121 879804311 570606917 256379951 681340450 931244714 553024695 340292000 611426389 775374272 110268136 788520612 826702268 191191839 274279525 275670658 749295868 732906244 792280925 234819060 901543629 117860667 995050995 403640959 575967403 455683228 264629330 372409281 866654326 515002875 368734790 270961571 613646415 945719591 215345266 247854492 975479034 938589327 766447478 323550088 403051410 487197754 453910474 157804756 652979837 103515111 184176661 646521638 971459761 514407911 246722577 684872016 135256402 873760604 484597562 689933699 605645374 245394659 107457456 606936688 542758538 882078464 672677458 408302938 587351794 539237034 168050674 167065731 222594603 794828441 808638030 827528849 538516631 646897848 667085378 393584575 288678699 626288338 630332155 226569209 454072630 575862690 298408383 269227128 379351137 857820896 608564505 573823631 859048076 219576201 438532395 165494851 485398541 810947471 252501551 163407163 988172608 394781349 129826824 743105313 675018681 999008241 689902915 135307191 256010457 447430455 641032150 858067526 851779894 258787766 529504147 905078023 364075053 457508635 254658552 843143018 964010976 577878151 742404013 456122739 488077998 380553060 630721826 166201819 807153025 123831685 307714976 984083714 640147476 448842914 997103532 276741193 627416259 574207954 781838477 100548578 350416271 555304991 224573906 548034188 881425419 388015160 575737674 661433071 193360105 930334486 963784788 905773995 634197296 526612966 683313192 853812647 340571155 765221069 240398643 756262255 284746434 592073240 106949093 252530024 476183739 750870952 787939163 817450414 733328458 830269220 331299693 344073391 959668892 863760165 390801241 416459261 460688821 251042970 292309654 972246463 697128436 426112827 962838323 967177580 218909882 152456079 461560626 289318820 597541744 451138952 919226449 672859258 865209629 430744491 395824613 106446050 592671084 754637145 597191809 624303585 669961112 215033028 779149863 369710950 954716730 550820077 897717649 918390061 510127635 545660302 980040735 722169375 779636090 877623638 699942543 118273562 987224860 331517269 622118476 105748579 974147666 424313175 220615834 495280864 111495657 732990354 793424555 463532053 137397305 560949087 148434138 621342296 107432198 732877781 356376818 389965080 563484896 194962845 297185700 443835497 147783779 270963236 620393082 280830003 174812110 827032085 172701841 975442492 711795927 662551986 348808971 343722197 773136384 168235850 501793863 188435550 853630022 960431196 564105462 319817295 395183913 233451206 184802414 308862743 182899606 450589790 392427792 532150106 261286247 230799016 338588656 224485964 985014193 462061271 487727547 620956419 671164962 324647841 956392672 253516589 314001149 373293479 794783700 541862186 531176882 328593108 752392030 713093044 702129345 291777573 577915675 746616595 168391502 267604820 987162300 699765378 247300044 167852447 980680489 677630017 109056887 488800669 926623837 435203510 725649830 792684168 959811851 427511622 371820402 506657741 970290461 487116059 168154746 584496952 960926832 668357455 650273320 587931110 271656978 265891648 752233245 428780149 133559350 673312010 151763707 486807127 389018343 941729670 910006793 162652158 190231268 839659571 155035201 298651892 684253659 622451952 266132775 759489238 902913350 415466997 503603549 819874365 753056403 278127058 177675872 868599622 668973759 953927034 954511821 657151972 836995357 590781608 427591309 375866398 441323264 863075483 116762721 583830027 398509935 642295782 684842380 810991527 507782063 146814772 443527331 391371241 162826955 879420945 807395680 222274846 159421871 410919813 512278280 483168009 176459095 188321650 640518628 731518024 317405800 837002463 479211600 418736354 494381298 793796834 330238240 950297512 120051555 987065010 325948688 994807427 336206151 220886190 345904817 102448445 138537420 187084915 748783310 338340065 541084694 803549280 965513183 848752256 748866333 506949649 481722151 607209995 683531518 290289094 495117153 445418298 575148569 968351996 242043645 760125065 338868055 377805074 773766524 870767457 817679173 513666027 641375701 827953624 941277339 990871168 375581123 501730335 207004025 703369324 938396107 357631951 394193903 225905684 540942000 407463898 399728887 606752419 836199353 379111958 262657738 969394982 614110540 421174310 908373494 776465880 398854248 269269584 727504002 640180668 140711963 508647272 570599979 302191662 595955005 361888423 474687750 654229757 676559081 575922672 867226928 415437716 682740448 931008859 930736869 459749772 772188527 166435118 120193231 201905822 183496616 665169674 772310651 997597880 587894563 293842707 403666203 456256710 265138196 119543321 374592991 435095944 981600454 962589071 456774130 909877278 565374850 656602378 826569686 234768067 498884206 262179004 592697917 175891504 509509000 683884458 253580997 107503812 872098162 215939300 203215816 395399965 743562270 168337951 873574965 335757868 321799912 512596843 163806068 347641479 440086667 402145113 189746462 255270117 834726871 354759935 326002993 982449374 319682260 555988881 525274553 431316021 947764514 627920247 519165693 999911386 616981344 751544289 481420494 306182330 544293095 437302755 379897836 351607918 428495123 319329648 804485794 843507863 208053982 393627909 851514316 709493204 819197561 270299916 569313660 790053711 659327743 118642691 703812506 322437848 763903569 305044676 250505963 777311753 645030729 276552802 668670133 825425627 690953515 441633286 407268535 194030148 910221940 751659115 724484383 368917194 397549629 333741166 495175325 604447513 286150750 300739669 469686552 242414280 831043835 741017166 172040377 583116972 894518743 886307456 232242406 385503846 178313584 544237899 261398553 996276544 517259108 939443497 186494020 240202629 707968990 813195875 562261468 460258464 239493088 173207204 982922291 897126369 721200912 150823529 230566601 424369711 296538464 799452147 869463025 857306014 988665605 266832696 414329326 473058480 785433794 284797917 861663319 175916413 983815402 639528508 493727228 863776907 398695875 274227311 399323220 929199278 722024541 989939473 908276882 606999582 808323158 890162541 938800175 422519655 338428125 572755236 153830757 772755174 286355956 139974047 502642574 135272286 137606459 273244946 348653401 321723045 439130713 934571380 140790010 794409989 405194416 936402605 114352091 410948419 741412239 810285381 459985625 233052318 660767665 621045113 377677327 321928339 256657905 162206513 369348019 885989763 449972157 847604646 329906525 261971186 983700060 600315812 363779299 213288062 192556835 509500327 544820988 108967547 741391127 751366640 650760996 332081670 367420615 373215350 550624784 234928159 105885221 444774534 400928020 467885481 606820330 599491087 773715611 990992821 609767688 549109945 862530022 155768862 591820174 954722938 677673821 832580662 238241484 813552839 552312530 647611244 140023886 315499443 883559411 835465890 640921007 977594792 530829640 266020256 270968863 326362419 637046195 225164396 817272778 255908188 206873097 605932536 874194969 998426254 515283796 168281268 599313705 579089088 548706363 351687219 722228070 319903602 447745653 945360817 912491716 756681809 753445260 612969908 300964138 569827939 799375304 760114196 419653658 478348684 578317879 391087501 276054926 629758695 765629358 351440006 376098024 989646704 240755085 131399111 738842243 660023665 134242010 755103226 425654011 299560871 538206295 239659008 142599724 173234170 469013605 252240339 138342742 897189022 472732889 186553888 381923707 416051659 356285420 926043081 741272390 219712113 830869672 264017513 618666317 434004784 363955966 502625260 699453666 892006051 468704705 545046732 857706393 448154563 908522633 652003801 334718446 733055796 104519544 800509094 422770270 408823848 585729179 639094048 442459852 166082357 184764557 182081574 930637393 846325851 284541225 981400194 135885402 571381379 817978990 705029185 980525920 581297565 562538767 138923889 868916040 946524140 893395194 999574399 545393108 682608441 102098463 374975137 699719255 834208445 921941467 530594623 341711417 471748434 737798337 559450244 240428001 605185845 586779658 532588938 679858002 552127632 257839602 454586511 147345899 870225757 542517041 685640581 754247358 435880351 771775002 106288067 975579690 939520259 261928280 454978607 445175975 471187308 226004967 414182262 582102162 697998319 225080802 651065023 831044189 909613894 965288912 957980259 483001681 437516600 291163641 621841300 883550835 816827551 347146425 283524910 748948954 874061860 633740157 521041678 611020439 889975414 197357693 737888488 710987595 779708762 339890774 312732374 669986502 685013155 556975048 970277962 862104179 750389920 615859691 349471496 623055154 584315427 436774045 134751461 235978883 632332549 745315476 653127305 514602907 692311828 358748664 692099013 907052302 742689928 507483621 832673149 109957826 831087126 576141700 237884199 431193515 902617110 174672392 990549855 689721246 520890522 817865898 596029659 346201616 991552635 131606942 421224122 526406264 369721135 394550159 690050202 787292365 839930997 670263552 606659953 947137542 569144886 734198055 570574574 676614939 723765799 298312489 797582915 221212338 129283552 339227055 741805298 996539409 327806198 350871414 109270133 890783282 341312947 378817957 733460003 217870788 768648174 145024489 959250251 175353636 794874532 823314120 912695293 282692304 483384428 958822915 478900554 600343693 145404370 456964400 639218395 239582319 671920159 294102986 228480738 409711186 346762110 433453137 416246604 835268883 442331846 209143858 794786247 426259010 727109521 173359620 625626902 322904333 349596112 155964305 924167953 899598969 251671568 793380360 330243058 497159708 311568549 802244393 477566406 129376052 531723241 568679921 529168600 703556294 325291342 232138633 905995802 781158627 139503051 986859690 616872676 174064918 265752346 555766370 857518574 667672403 668703633 642205550 377403127 690701904 137048214 529378336 503299269 657584465 548954287 946833856 475268627 116332340 914958563 202644235 610178772 715581826 674802975 240114703 107648614 822749128 950157520 968194375 879311027 317721304 792348071 686366505 980423754 572193304 815737304 182687958 452081339 436134041 159747431 210202776 149026874 828925671 542880207 791302400 411865640 682006429 345423446 347780806 439777965 321913190 212306781 695446255 931775328 541199642 215914102 479256993 965771507 507123125 960208340 549747360 282496798 494937714 591660093 109108563 978791128 534941384 220747261 307361197 218872022 732063164 608583465 670839574 464176593 904457282 354870872 958741549 727187013 297563178 909867951 288183551 710090356 461030131 308002625 460608903 377272611 511783427 957048762 785289156 218241022 862272922 547182065 400984911 785921267 841840857 324724023 657099523 956389520 945106467 419768425 114027862 383173802 587992071 353212535 520929041 838401108 196212306 844942889 395320247 846439623 842031325 860312747 683854523 791081612 987076245 189165051 272985477 299839299 640894684 672170624 326022830 858581996 782363914 209000066 673883626 990551878 420261059 168230901 516484915 900533140 660510719 439314435 557594934 447520942 806075394 288579698 195517124 231008927 724146090 625327609 515178458 931369409 480183535 199434102 660986055 638312040 563195372 445395903 207415422 981226455 371423292 322546855 175197368 866152277 446200074 839792894 240250904 499845907 139205356 649794663 463112457 277982340 394713597 918773533 709127224 676528841 752358734 360308212 658751718 470743853 178007722 342533501 404495929 138508569 808940963 702931531 774553361 467897764 337625167 988757696 773438026 466211158 347083019 321501098 510073258 125794786 613992534 345214833 947011032 404712811 191144124 662326064 543916926 894151183 335483304 774967224 997330021 568679684 505877865 584951985 349681830 403844134 660340950 511002411 601050462 924730378 854990328 558074416 830899027 786360491 592925922 517341440 149576394 131085702 838792468 400144577 400681664 748745013 728110705 708786334 344301397 790006976 864489104 406998010 856878041 840822587 811137325 381754179 304440856 228332562 730895186 484440082 165339456 753843967 329610038 506252276 633495349 210039669 839702104 264040711 313546383 159788276 935219181 303047335 702127302 723161362 321552689 698495188 676395877 810135700 751736545 829340252 143513086 616735551 205769812 684734124 281629355 484072243 451653234 708699122 550728350 420132812 780255652 338526270 780926313 608691770 403565753 271091649 546660910 730799719 865856460 621239547 413471735 180915102 656236503 315617143 715138687 448185860 529921321 313732790 831858372 330368919 552516710 530003628 270523218 532758189 937216336 639523471 601678655 133317154 177517754 739735837 735750405 860327232 106305500 102134560 295388552 174792734 948590822 896319316 846313533 868020003 206145601 527819779 463503248 755657959 408285679 619754071 173621146 792093992 138021550 363400236 963328571 767254317 190440839 463070001 521457341 239170512 470465380 136390399 386169673 114867661 436400255 119623281 114267531 455349069 929046663 283421180 965499072 666504785 587272898 492436089 422833193 556391764 349665472 344555285 439876824 458229644 405358603 992121590 301213157 491326116 954873655 416659178 837756922 332682200 798461841 381374536 948872538 581599253 909771179 337283195 341195666 686719248 243531452 521455789 621299860 996963388 380804544 238611597 612650454 906201744 130012539 459929609 499148470 547078503 449707535 467293035 833066510 728190161 145769546 958420205 615097682 999945209 974235142 311370996 358225848 560701315 770302129 349401606 448065477 342951824 728204384 996043413 991910530 248159255 543235677 362474032 151870606 333425991 982070171 347784301 460866915 302977639 293487321 501597207 647380505 429194639 473703788 794592904 807122479 786301419 702094553 520102299 160214074 706452299 240839110 715898254 790384478 640492614 521292470 211905402 918917700 511826106 231604881 873453131 445487186 504957837 450789476 189051029 114357981 774344806 355145993 891855187 617607985 703109015 451564919 283591011 901100165 134759033 834019063 978842352 418927167 332404353 805404774 505721302 819983368 467575917 195551082 342732313 379042396 869698305 444080608 812427909 524662443 219451330 618956326 320237501 425179805 248706358 709746899 184715895 930441553 895488372 260928923 307781606 664862050 663277638 861177615 478762793 149186143 744726126 327004900 874868468 444959318 962476190 158413175 294614671 534219502 441388214 332744494 618880306 933140157 592078930 558202135 549476415 125013572 240671799 704076432 511040294 497227502 637555370 789606784 176850066 332922803 812724745 431861247 264820517 273699099 290617992 753945942 936948763 334087064 834650017 629665949 670572412 216097136 770337709 975992899 243017461 946286129 407476184 619845106 433895983 160195672 746159110 648690142 239232797 837310093 803346546 246521488 948006164 446757620 358077196 928766151 500941196 616170135 287933050 669178221 696847190 875959669 424049180 908173298 132244054 116209558 964414919 959293574 117688817 704048607 505421082 801355817 684859957 551276147 417955051 508586383 299475037 229143039 750556677 393237061 872556759 966513725 605256905 289200503 225778170 256263705 941681765 657799925 550672407 703671112 418866237 337176709 724733450 991627518 259251717 764430574 713882925 825261978 170773009 911219646 543392467 132892462 329110687 797768333 443608837 829173452 705950065 803401091 476529391 453626118 442213607 122459675 318683015 181478978 329265112 973732703 531150413 218738593 500866756 989288102 996432910 497274907 322177282 991008437 924344244 974906135 444271839 253458939 376775423 749878074 318714575 482772293 693500794 188770685 716325429 688368962 411309955 992683071 845949059 914140911 385558501 715301922 995374725 575732693 141236630 353436760 650982185 506778024 648399271 296703160 941426454 905839074 308664321 260291568 166298129 534893932 416718780 783853942 429733900 692349883 862786734 614949972 773148793 286215559 186719909 493445999 529335366 615310184 640271237 908748101 520820025 973692049 321380034 275052258 174190516 365006558 691039061 398238034 141483420 746301430 133423094 569886765 782778040 101069606 393048805 801614019 983182244 442981720 903116325 976859944 198947405 401933679 136655954 580868389 185053939 589005830 439994464 848120266 620447093 706363595 531821480 621144243 580162825 957367253 940893164 722276379 450592783 242984640 509680386 804323127 821096380 274138668 183296106 422174057 249590715 160317267 976248743 937483933 485259705 383059535 649815229 942322029 683993514 403785154 648969995 741058493 395355281 277884302 457256404 490269833 836465518 938645574 303932769 836041545 989573605 435400983 722100045 289932783 614912269 992930315 401468288 153631993 592384698 681058031 697687646 468705695 667397352 267395016 483357389 624837759 901993901 189741447 905306085 315325524 638471425 511622889 430633801 873924891 609906800 767734608 820648936 643743823 378739886 692878817 825345720 275144589 961832118 838084699 494508468 448023174 441149029 432898834 716420558 368978122 253602336 386998174 682918799 488191588 580867046 421080977 797649282 845581114 870470518 439331892 974199614 586364932 825666824 250823500 577177644 563272842 529635690 999801173 494822298 439123334 730510911 196161458 499492573 489172297 669734620 675311259 941491492 351208195 794458719 289620558 194296006 587663574 808792044 426578766 620315708 189547052 961106214 549183928 159364289 814322365 989430052 718706323 110835665 874584834 594052782 743962409 186664988 540537232 841447935 315245818 987512586 359136425 190967527 843654661 394315964 341643257 538499420 141622476 100898099 640078617 969635391 413247140 383641665 439498028 773928710 577402878 174949512 486468577 476635913 391284013 601020707 304909550 564490351 444466041 973409672 455152569 571217143 978000184 928829599 773006680 300323909 993699854 703061543 171460416 751441214 348762124 985104626 886300845 772971668 999322005 341423574 612355225 890910057 224070353 910261006 116107351 893153597 858010733 226383016 841938289 830539785 961744914 765227076 413972650 955943867 282495336 513652007 494892491 155287280 158900827 796978469 671649272 371376772 761323405 958427241 177268219 657380805 345789918 453766497 900499408 617078139 800998696 529892549 453630022 752711676 376492303 283064364 474941909 768601339 608133200 408055767 999783534 334894703 146250634 231032924 833580601 727909835 479559419 903512702 947461543 868146915 729494603 219391446 612187956 359620128 830083736 201402848 870718712 183344251 897863462 970723552 918061238 553867623 540819223 204176060 224489970 222220229 348006780 283870568 247743738 920825489 369546566 925587626 321870443 761913770 393212058 555801069 553565348 962759302 820468203 408916953 408011282 185642643 555118301 722392646 145303950 814419773 498126847 825901079 620453837 704689454 195003543 220174160 302198191 948764522 860373920 761331673 577263135 969236570 264010856 554229585 110428962 203078495 483801841 558934035 794051079 148223814 543675962 509345577 410118379 565322326 439094518 985427868 690887650 950090204 312484370 123996921 794826790 378289125 448345236 198282155 656630205 189664999 987933080 987469527 932248559 579356594 177937202 951100256 685028112 416030722 125944849 810836581 514063485 942432143 120751591 456351770 574148649 666488631 988506188 482753811 719513584 593613685 582571442 289985438 516866926 174868554 324068880 277953515 219467381 368832457 138235184 957944395 802815336 118296732 382322975 190511828 222341957 982201363 903553112 486554629 292862897 190097089 788808688 682753724 651990890 484980010 263459312 625286228 158468706 187146609 658435252 245509232 344977894 680416403 706763501 702181730 323052602 156199913 352839086 334818592 714560858 799999097 627180872 480782492 844368327 557855837 828030749 781502538 981348639 427182006 130312249 315087820 809624506 632915355 738525898 176801922 843512900 345920264 855754026 526265124 627406685 375923752 724306328 783307137 169850085 751287006 991239981 519699170 254695159 668027820 969592161 668622567 996585493 958644545 993852889 856992246 571227241 321702304 119482162 961663054 852922398 370072705 912683836 186799190 616181656 923235670 636509198 185312615 355373503 185780100 806921093 837519171 767767786 971495160 206806800 700920736 634282598 794187950 592106770 417946047 365849242 109851859 534862826 180105670 594113902 997866621 147945332 107610449 116442920 821069375 350506608 989595117 630460278 494043265 389513426 467745208 992073943 924199865 824942544 591853237 521017773 644574676 776387127 227919206 136227152 727189355 475984015 924438524 775072738 704180947 643084109 260664985 760040628 129523786 495355270 493216459 784659902 786025355 278219469 465772927 353599935 378163728 490658268 978525632 647921464 973769767 713507779 829282139 288488135 151616243 507024581 302241185 951184849 178872952 155624947 586295866 158764408 567316375 309826020 987730186 833271311 821338613 632299415 385458217 421845883 993114441 735205636 769937323 994869400 302833648 990230092 702970450 667924334 816354870 752771935 355066230 551770791 950311425 163817755 450425678 990173742 662168193 547944210 950618700 892424851 201815064 617537476 446327808 342971021 247101577 153066751 706443939 318827967 851000480 439419715 219079369 230494433 758585341 869758908 618427799 154843058 907305440 772920629 267667413 844365412 530214504 531400194 778966614 261529335 748302845 667359126 254488864 432233782 281355239 478009392 216571253 633762221 602702349 960756042 115135149 817397107 496193794 446673590 484675332 906931859 163701173 917926076 569992296 448432031 458376048 909551848 363281943 402633667 124983507 138305729 843754857 304677055 624176274 267991554 388255887 552232229 269858643 735832784 444392487 343810881 175024149 565704656 445097998 864010082 599457817 999358009 792686099 467919272 167430647 824259195 526094908 198073166 160371397 239933769 661039181 304277683 147086488 673117651 309480324 234262330 581384912 622990551 177479706 554312623 895018238 743584361 730685335 487438021 609011194 191252532 769948141 508647893 665343208 206924334 179654013 457576503 775592499 691994890 177505031 489054194 198476701 436985240 410825013 422825162 107943964 500975222 776632931 524026472 141524450 113362235 467280960 169057233 450070192 310377543 250691149 795922139 588652594 949843366 392147613 931156514 698320016 318889154 766998783 913878762 392994127 802237052 633273560 429778015 337349225 313856834 770254771 628113689 876135788 699475610 816605449 588808455 568123269 597394114 897802968 796153836 697758439 281144875 871226337 532243766 422520324 483715378 884086231 109996235 214051594 415780033 155283923 654868856 192763865 286662419 146035182 911315379 277337649 541435655 583628850 733160181 667391120 979565467 462345684 197359690 140251675 897343819 206561420 982718538 399242245 212100559 402890678 792403579 293427694 349753132 321335026 160993855 816293652 170060582 361609037 308974418 795408823 834697297 203465887 198302566 141486237 554171182 955396955 285643046 706523509 515780755 570142571 989925759 105108067 775181478 894949812 465831376 837506096 176920686 388352670 581989016 992819073 340435565 192834566 601870168 407549561 518717730 784632895 246305521 175924823 271194789 547314524 982687476 791070386 861816680 607320787 424500520 532905690 259610951 480303829 983133397 691043933 221102099 578532350 966500427 199202142 192786902 791801287 797112584 121112419 373638823 329006327 635962085 952528780 499188393 200451222 659097647 206659655 142217121 584016784 989828191 883736747 843264217 781051347 126476480 183302839 775249450 159358581 204656449 766111938 632634132 984024488 739129294 976728962 934364258 451541497 368076951 383687604 465147736 947680477 740333215 778624417 858045322 773454966 984862656 286568640 911373621 599796622 542583572 645575799 742985219 353288784 286452820 548395913 378849737 262374917 158717135 950305982 217914546 666632921 545265873 256063914 497568281 819251445 134298983 220808463 947789978 423084327 342174613 626646172 993362143 148394466 917160669 302536751 282737683 148101487 888264066 120755670 189259237 356534488 607084909 408171743 555786653 240768639 174103642 986254336 137005500 275700253 171447294 884320296 339105135 102090308 553933827 287510053 621954205 613461194 572520139 600977812 969109513 818085763 919303478 456626168 858260885 701900561 181878761 462285048 344677193 932438777 865395599 455591001 966815772 646259944 230969153 573261546 382411892 251884921 998198310 867265523 171449104 238537182 921103749 139956102 842542309 635591427 349526306 936487033 846829116 454399313 578598236 535274382 422311742 412239088 108836078 641145151 612754514 765697153 146263144 685737533 396070162 636625317 907307503 709625693 771952727 412555609 344690083 659679772 449524405 689640406 232723283 257544643 739643661 756911505 697800682 291459604 885401780 245724863 213229271 171535287 774899657 812947766 883084670 415203706 134696744 764419491 232638142 776757032 308780821 477121503 959863119 102101910 467522700 265417114 541615831 747431917 282928702 310927687 915646027 493645767 938841630 542148237 558589553 392825726 226780980 848364594 300142603 321752606 256913232 911669826 557989531 551137275 538709044 761183941 796034146 217030447 541933385 647348626 181027996 236909566 783793591 115243339 789510618 123766408 776643764 856584709 483826058 555919541 143227180 216462913 767039090 185664127 364763568 180081109 330550782 959803597 449382041 614473532 945213367 252157321 780518368 992435944 124141892 778812892 120253530 525893096 592925858 218326531 132849367 119543596 987494685 647639574 792393357 573425153 136831828 860589792 978264832 265702162 592738734 732395044 615688452 916235001 202268868 965315040 713793456 520146955 480273678 183863479 616133149 638238279 666651289 462458076 145596487 902901618 299249183 929650912 935450230 756228254 322169947 720807444 830051515 129238586 387788731 656763824 774586684 881680363 852258908 370720431 284310928 765881799 469445169 715511661 389221347 963458524 326446689 261286100 324167202 925292644 831726495 873292614 491152679 835645250 898272067 571402097 507998516 492604927 942822600 933699304 321933313 712523667 415465986 994044745 247535755 416180686 317847574 353388736 421919653 913736337 359852501 175612551 517949944 536016507 501941431 197765605 569366683 635392630 671238221 719861972 986115455 801928733 800042420 308911212 875783794 624060785 344225832 415673814 500915519 100448591 865451158 702469240 185161522 548227110 391002961 150253476 353454760 558190882 879498427 689429203 288376494 183780123 775243097 123665229 276003519 983022992 579571559 746730206 652435057 631686248 200830694 632628261 481159313 238017153 598322559 849502309 635429666 574520962 479297589 293165843 319112043 994431764 433319152 838314675 140471091 571648445 379741610 253457328 153717194 238080323 275236689 993636690 232075758 384166620 286639075 842091628 983922087 686646443 564007664 736956720 145163472 568336477 568972620 692190988 216498291 699192891 787275299 335814611 762695266 140589631 141195955 129609676 894116779 850692808 160576997 202023754 703751411 510039276 391007762 192419303 514044799 821610120 101747385 681949570 560671684 236044194 331680662 655568381 672567650 193785720 135890243 723536412 874530999 833017608 154411024 701229533 422841797 371158147 828937694 569626246 394982884 457145162 367983918 967113609 199412460 244017074 871596168 508203334 237427586 760450361 413162238 610663959 624167035 823581885 519285785 734668251 323449510 876663709 924568081 528388820 760253732 578845039 559949850 841804272 411622372 542186536 733755525 456932455 131813285 276661093 754167465 522054084 588048744 384785503 766783422 623859362 606598760 227705405 956110230 479773109 540310380 937986913 284675784 982539417 605982599 273077087 276919624 600193410 807879658 657299374 267041403 785490036 412528665 424064099 340986586 326644350 999296298 930160847 812331756 184110913 574507971 171769925 822500166 350501473 258412665 682625649 912047521 609804409 424331250 181442552 195415089 649485910 266037544 601053578 257569173 187054087 564934136 546973662 533062541 158305546 480937064 221218587 870825391 607687708 423012980 596170451 946352423 319603878 294699990 570546372 333476955 714529725 698155073 139267462 303259409 789214416 180598313 888757394 711133621 887481662 378921609 498853415 417160632 355509231 617230235 572068505 217712151 671118746 285726652 137840388 769924636 136623664 831021801 966401259 583358075 754604536 807308593 177108773 127804800 182340165 591455874 600993126 606638879 740223672 721936686 490307314 378053385 110043776 203930440 777122947 175510726 603248810 750898897 334645227 299840739 360044496 403092950 970118720 625378186 662918689 843467988 951875133 629870279 472781759 273977386 523482212 642809532 942905570 100136877 541042641 906382300 199428247 417984809 310496975 248868490 753669961 779639292 106655667 898201441 329579485 417201190 375204497 100605085 940677622 682774155 829016777 998868574 629361575 837400092 128919674 495209690 863073873 617561842 677148634 639207849 490176935 520623841 638152460 985580983 539756629 144564546 563805273 273778008 334923460 167103184 882008209 662519727 470459387 746478939 169090388 625635537 728548010 201145191 212411799 482750699 556109757 848175622 973307403 260782615 396232524 307363882 850804017 890752155 717721968 865995271 552449559 910044810 274418296 760267484 558163444 974536016 951851289 717059780 501425823 704280096 837070444 263324170 866913278 212420040 976879183 662248658 401544165 536823769 587940255 326056638 293104104 904516580 179341296 149099020 896145402 542333017 561299497 400714110 360358991 264784443 374754312 798620639 636730840 811749517 987956323 179009963 131929504 282161863 761608134 692280797 442219488 885615200 665772537 465290414 276490555 755898107 638589124 215603781 451931040 900901632 821605801 758144272 315607220 644623694 661898996 300589793 156538759 828195820 472507971 216729079 857212654 872082403 387544107 104469852 236867344 320101521 875902289 749116488 205570105 121078814 125060609 365476963 795029813 966566848 724842002 660616519 971140801 314472764 570712891 618362169 557523458 175808311 664331904 229230407 398317041 959065237 641769621 398900201 436635654 832206663 704442461 444567655 482491201 391996007 135127686 922336668 253041730 649971604 329881665 543395215 779349271 989971686 409157345 131926594 354837526 443627539 542174193 420272845 835919064 679542897 923628836 695925304 916062779 219368724 863727177 188050891 197514056 928153896 502467857 436816705 184837502 480572275 676541524 731660858 324309962 905058791 865468146 739796026 355349302 425428640 886165798 365276046 699613050 624678952 440527471 421404329 495309334 439639143 207856216 128307552 995377589 996419995 889116019 671339164 997732751 282774784 697393776 395566562 344358018 838844686 571891531 638068003 684875822 293000784 903240785 291037610 526493247 981915419 767587718 369267956 131938388 203878746 410382378 895387118 336606964 386763580 618343631 490438868 302209645 409373249 224771587 326514382 266589201 806072716 848915167 800660294 731340720 530907131 647712103 661514484 715407221 935711854 918996173 126532309 609439585 587568567 845238208 568990091 997895481 537045770 579530386 943860949 678335633 769811156 593368935 285955738 884478048 362274219 465742329 695839462 684977130 984145174 785966982 373624716 501531438 338121796 286356311 424819571 544209166 394729001 542696635 756396923 643247068 332642237 337103215 796323245 603524476 396730116 101522810 958257918 980886827 483566619 701204814 641906202 372750773 397719141 194795906 975187782 139918015 470796261 773332086 502500666 912414646 641716451 473305791 907451171 192814701 560272353 132542064 155010594 909198306 484297061 395102774 628251150 301758079 271222565 944127365 124013297 300929936 994316580 220206710 683446654 986187260 491262184 822926692 806861474 366227655 241539414 233161698 980565558 231258483 835219350 745231668 753098676 771937851 177973741 870036405 306357850 780011709 875615261 340368611 683842890 355127606 346914218 994058660 829010307 695787897 199858882 830206948 807320910 837777235 882452443 247637148 282813180 605543498 140560091 337435940 648161687 298936908 890262141 424033646 794199435 717971218 528395079 958025783 278551108 986336857 128083632 542069443 189010580 886407620 967376151 329982749 483927059 204935537 609610466 963576616 200628065 103403102 372874408 331143723 850169539 278722527 379395462 898894805 644936506 434219472 296485773 496357110 266981214 961333277 444550416 238644263 256721109 115556363 888548280 345961905 228177903 583439660 232313104 523381648 678601684 595859467 907484765 713955696 476011807 396892729 471044768 331676444 483586849 564036700 261027771 222574791 275484970 364223995 507279072 600670554 999742829 904153491 657955121 562927159 282220595 407316938 515366462 794836978 968559080 454332130 536941029 252595069 884090746 145447730 443987573 614392090 104878402 125600977 453651890 451226156 634879989 630172118 386625250 372596191 595711593 727297170 735862145 612817003 837696116 342890677 489192011 176135675 562110418 317716681 814729400 923887700 509449912 461887771 149438287 274951812 568138392 278333758 147163826 733361020 296314613 131304211 163967403 485119212 143930362 137227885 520708900 485094062 543966895 846903504 561137317 763948663 421650199 574066718 117830126 890120476 846423460 106405995 585767920 848660008 452841017 446367432 774199383 516600339 234091251 720034277 875181119 449345060 102346061 923130968 252285301 159925767 987560677 401969032 545474604 275934719 273399092 490474993 556351297 628185615 684578793 971885261 761781906 384364045 233949812 689370806 805211018 117414364 724723140 923777950 762096142 167392713 865848881 812081898 515585752 258791575 888083882 819785625 287830330 956291490 858710202 484458614 718449861 111590260 179008664 421553209 300651287 639879229 637401602 216594836 615232772 777938513 793642555 473781823 726350624 663612861 749963342 872585259 977290724 997036187 730397705 392563328 474610981 775302589 743388904 525167036 709412328 112521112 842094486 415587629 312461849 165039452 224974309 837919828 455480709 159060214 147784532 808483733 433681246 724388389 652892712 762518223 274244181 645381465 478813975 287736422 470028733 910516901 375811090 431639190 433371883 546926140 888350414 730478548 643484102 178573303 894398471 328084477 740684495 518510572 324345369 362245938 380162737 220035238 604177412 447152103 495160815 646511597 963633970 459523222 741212645 342701711 560693057 562608878 605028217 934941570 784812922 945169764 715280511 101055659 610582502 263375257 741220719 445475516 327720361 492497968 858120094 456107936 763589814 974350954 361313197 267899035 171038495 242459252 246860285 152825367 932863618 555989212 447956028 368049558 235508925 907968368 781057960 434632138 778670333 423157710 225689899 184114972 606630291 100699235 280422765 575255290 594127945 491943895 540121969 287240774 653395373 383421292 171204232 402558116 525731379 337859433 400096600 526478908 352117758 948107482 348635521 648789465 234046251 253611104 383197403 928817354 497465140 677416950 318736768 147314051 407500345 527886520 917502563 122694515 232878314 474658029 105680038 627672719 510911055 468945007 455576674 245267766 762290068 262151951 993406398 665369784 185285841 924353499 438029438 196413471 947682293 335326194 454578714 350080206 646308545 281831381 500176216 455581171 480861105 345071047 255564621 469983573 783022531 107648915 809990574 357806831 800184402 970774656 449069026 933655131 858757080 417204312 294569886 941078211 585666075 755090223 342062393 127347771 485539688 146622578 676022154 511379564 814836136 173220840 938026731 931695370 927166922 553750263 930834799 220609240 137862235 733487536 133632115 467431348 955634911 346006078 867743843 293981390 298934806 681085423 143475759 337169060 387906754 538325425 123138136 235710270 871760520 563443480 255981266 725848918 465125554 247244299 742407348 590121077 857866273 960159428 642238467 192772975 560039993 638533537 110412669 697623101 826360277 436274650 145342319 862078072 319065454 148101950 116211101 444553699 621810027 297755518 715048542 119699228 187617281 516132472 222002215 216005715 766134355 108816410 282586431 387674589 761392865 388850418 359833194 950996234 794366071 827918601 678697120 665990943 954956831 932770300 428607721 235277562 227341698 470683877 305815907 516651291 108695309 959058943 395186809 112198909 797069708 910680582 830935945 583771158 214424563 499408031 175025780 993338228 907774950 747554823 736061145 356427849 123115689 281552478 851666827 781831771 589735460 908752295 597092087 329441953 753148272 167760425 492911447 988674661 799161965 867628671 227925863 129080868 745877186 708415803 304762705 162728369 589415975 296799271 638636306 926156485 201153206 316603724 797783236 696557295 125368270 832913893 198861521 392903254 107628120 115470260 342215349 176502410 397315107 957390459 909233671 131857468 173498461 225063617 797900117 673915347 845689896 842927274 626101424 530246479 597853649 168058764 649098691 926579795 291015814 684744071 279233000 678756223 709616056 522523470 353083244 140448203 890008457 444948990 202747357 296208758 573051889 785779758 714980843 209091517 627389321 868883691 872132261 601827566 619513843 224382276 213805603 428607132 511292506 205174078 554931256 502135255 275578566 435441187 394817486 553586053 641392179 637219785 266656205 856193640 808225403 167667636 357028087 259763324 447901512 706563820 845742676 597221439 779261898 819482687 866860761 296083009 917588540 286230064 894159884 622248980 641975895 286782611 184899747 486995506 913301515 581516522 737404721 306234430 412663167 167454225 561272450 150143187 292833929 626445995 662934692 453681331 929375820 415069443 255854895 328081253 415714242 651384724 658894150 660304799 119272438 176017145 626069204 598340577 174727840 270547703 626615410 312380545 856424430 451670697 683939287 737018265 956402783 274096289 796104654 485388297 963125432 886154987 575810886 173137801 374101423 255317327 114441405 279543404 442748890 124011009 359059913 952679497 295425300 605306098 617750048 810890388 651601532 248414696 592342260 760890574 704498863 740100421 990044373 179405881 761619016 892718354 880281912 340703874 783654265 271831151 788859018 592218286 397435129 195161391 978036919 561256650 433327934 943737054 634134192 963497375 861543239 114908649 436819459 312798210 440580932 428375423 513425124 783315211 892121716 266288705 399848884 686983173 473888051 544399933 609618656 468014394 198109673 203817229 609878209 597084233 153745129 606030440 810840505 404121823 749110394 476517474 334741076 921603127 334676012 832678380 324604609 749640909 897227813 451449527 553141620 758343035 520469546 474683324 359019433 855337412 515025567 869827024 370593004 435612734 306742676 227192486 420122916 831269072 642260989 649130573 415092826 166899507 289636028 804915734 902300121 758304513 278565657 242289770 981769811 323400207 876901081 411228606 425815923 894695736 911038857 691581385 410106114 866001479 815371145 974106003 624207070 244122074 662905970 792998905 279602587 364556987 601997770 746304339 934661874 222826837 915975621 985102000 265050939 166433383 832932863 613082154 137148059 222587680 657314871 734187131 389354218 373715792 555405580 987699651 233146649 551278374 283105089 770752269 686874422 253869606 673321502 661649644 815388375 679439182 600426410 325580902 409157481 132580704 578843002 234727029 371778425 568255239 797817388 404272003 220695012 906212964 768942899 396894523 544582850 388976324 781043463 264742296 781471054 518576048 605616710 939557561 753991402 233570109 871731906 496714729 491716875 339469779 941138945 347126580 916037613 930671394 417789139 788576560 688366039 316108785 120185214 385960135 312892950 680038659 562204797 996822152 939207418 808904490 776365228 591767229 423284667 501029020 204210698 788914159 437226131 798111021 151943295 272089934 632837996 687068985 894493325 733591277 718399105 625660989 533908966 924718265 304461826 367668397 907290825 937329710 814442189 467238614 898787530 715445935 484431825 132824647 549724081 480496036 977050675 622777641 419772947 932795982 694066463 789311553 322476501 834477678 252854688 381793865 645671926 447478362 279151951 157713093 300336128 812879775 605619521 309532070 516410157 414034574 861574582 523333046 452895141 297408723 806653958 566844666 261819280 439354937 540502333 901315488 961854069 880318077 531243046 811306365 825669721 297032408 701624165 731717593 346839246 591478796 880334603 359264323 576694012 875563461 545158354 719370051 504928541 528033201 559269867 302338441 822199675 414943729 942911544 276984232 680322830 493709077 200436144 165913344 689192223 375977438 602381819 182710260 672366615 613524860 612130468 479453107 797103643 799136753 199761750 259829144 481478761 539869833 655260863 869709513 331604821 146048666 572377302 344162847 846463682 896241022 974642891 784138580 593951776 211501273 558962492 739451540 819559391 234386499 721918567 116992227 754426822 752704446 274520208 985471883 927810422 163525013 913378495 224487870 587346117 569806649 286890508 874292242 940433985 684707670 212950264 602026588 264719966 666183664 961995373 313281801 595872133 324292603 264174496 539654621 398336304 901167560 181213298 791071682 180934403 129866689 399038223 144141770 218289479 691218055 677417059 729260656 486452687 941568353 239377793 237458306 456768244 552532890 952472337 698051165 837889071 108226454 520622353 464914093 129010053 697551994 264417257 945801556 257892337 700626895 285410357 572198270 884110372 217288176 791455963 848553675 561344211 988046434 319444889 698445022 347019473 550150218 377995970 142940994 379604326 355600985 855831492 245145912 762820378 760694807 586906572 101861614 926184438 270533061 855897483 504787776 449871685 764383956 751638078 313045841 458874141 620485277 363365960 811990170 102855281 716148402 229394310 842510715 668102796 409242853 392012423 433019474 232709118 431507021 576738367 208805779 974622100 357285231 932707684 340906645 717257920 947251131 444695433 876830040 564769477 532963442 502923066 259670746 652553919 174420367 330756004 173163418 814100132 326010140 138973454 334015457 262384905 678873902 163609392 918451248 140988821 410487704 805470595 463155221 601437848 320672435 495418558 204298070 187009810 772072949 237842966 603841269 468809972 679211697 213997118 557648617 992339501 870844350 870783905 836398726 360743425 130257323 209410505 511858940 405873158 486452759 770584627 475582827 552165907 377151793 406968078 572048323 106741649 171252602 505840243 199441114 460018489 545160522 708805659 657503438 914704080 718684235 478692391 817192861 644858112 239525408 234047980 855599145 183722178 462723802 662885507 552067107 481728419 801883715 453486281 212269910 933461357 879736096 350220645 177065436 420786600 199568654 218610430 795497100 837163075 736786766 712802589 322274825 333224522 480493298 202551801 524549531 931946069 789579891 798687513 248358553 820908279 147672035 130589726 858104375 318982635 846148986 378364930 912061932 353831003 944538603 681168372 166981198 402354153 207963691 802320520 516558943 365222997 456490185 931801401 682139058 399306860 958460129 439396905 325503303 324055091 762034543 119642784 314453259 271715642 404942852 276346989 163080064 907314021 109222253 827155821 257148092 323210900 170465202 105435082 620861802 578866335 659980756 481586976 394820394 978136925 766916206 470997153 943212021 949871383 185442664 441546314 879054774 293100238 999002446 659165816 150122783 126202986 220759133 303914388 338602303 365246870 937341974 802230028 328241292 972151952 451976454 199426959 758066140 563168237 611883214 857298298 743768172 222279737 660565623 998735091 289303839 566407829 402270871 560948829 774277754 669071429 697080002 814966754 206758818 810019480 829031925 191727069 925264226 474603640 543135760 353913418 926739439 241561163 358303054 876145626 126507739 852382306 802966517 419845078 440540434 879287371 352267455 476004944 630527200 695206718 161060523 996654884 182727210 582953144 894645048 392617649 423062043 552520541 699592962 126687595 514923890 902110193 726535391 794356145 483341874 521848421 616135947 667517084 179099069 911927756 745219478 287936171 218413549 559724911 933933811 805456217 181761881 416444705 138394688 175677894 714666678 116249770 481880222 686371525 903474412 602265285 503749408 218663713 886258977 938688117 258571786 724922092 460988314 571308043 648959605 234738094 657923018 996520853 952713529 315996938 207627156 832965324 622064807 241851073 511257657 835157901 755806769 378725716 427839210 525414904 644818368 431300452 329330661 513319832 381989513 572051793 494841213 173838252 962393846 481778584 721123267 479027335 505967889 692471345 615104194 312469787 215592453 998474000 604734986 555549437 515857117 408796527 546232060 386895482 835658273 870281133 671966802 754067451 168385877 446026235 903066324 376067804 852155064 308744047 610922875 751287183 276133855 278386794 380830168 606740334 736465021 785515685 154139008 979291801 970863301 505498486 472870809 872425676 496376414 794406752 239070346 601456472 626970599 620998894 659430535 404211182 973968345 824006280 751800373 540789594 283914437 307300126 270439984 532933217 167686304 947697728 214115617 903976058 690150986 969586175 443088563 666504948 226342659 164070539 645372180 919194861 878716334 405319799 989276459 493082546 942715467 579503824 214154542 573869481 925603454 564062160 944534009 813007722 284541251 864973384 843404731 923782273 210889445 667875062 706801275 902523739 271071062 242948164 432968973 230241272 977475319 338777362 605731104 773698407 647833657 224017987 522751842 668113816 576748926 978135462 317897454 220077083 420103044 186691572 315911741 501272759 408476396 870925016 641774470 578750123 585493647 746927466 331507315 987396966 355123835 500077513 459146300 319691204 364040788 241581538 353546364 832865557 812056206 263431301 681255891 991848414 929658738 283923604 312296742 464138165 294033704 607792901 799795493 178353356 727660966 447459812 385523784 358016074 818681718 805900902 387266730 108138212 908378444 186434653 342183754 117290096 224890757 957326561 605395754 292671304 868816661 501001364 267246539 255493252 512173229 548641589 982908331 733422211 856403079 949730486 507276072 939811802 730826634 565655011 500815291 644860879 159062279 318870396 851802677 752120897 400156449 149057269 668500751 481563095 139346294 424108794 944327943 362332135 596729424 617195942 576956558 885133562 533236478 934278764 741271766 976030372 837660949 229845435 639575131 320590686 858692076 278431141 343425677 259672401 999626322 206379692 617957765 265219548 162027092 177866900 741306440 887671213 393117971 489809076 890123836 358973086 638427276 597635263 171854246 833898904 792249863 379207171 133486489 751986257 993494062 938977613 695905131 242360068 882702210 875769075 479431863 345086420 942146896 246143385 442496382 358059889 611851637 287158598 392140866 268580729 427540306 633589339 419673948 422450934 154034452 647729567 111957150 963383510 474833940 281242718 880876787 724343034 466824125 962148314 144368427 419048725 899047570 698036157 520722006 313414756 597490200 513280412 167345476 467749558 364740315 731087334 936694219 853770479 641786365 130645400 524011437 960331209 358210309 220481289 984264974 427580195 485563184 143258416 775619310 274399017 291609428 385891305 565775860 668301794 125971095 108102378 124693207 446397502 336998598 594597106 594883537 637530935 171682575 915962541 500588126 431844297 603835244 528956526 909950556 251012153 373621901 205035924 807563115 492762973 689683812 460626924 524899627 997103864 210400916 327851696 771636084 864051323 760335128 880891776 960568538 903807898 887636970 601421449 558996390 585153276 614737972 901998101 263435836 789214830 880123997 670430613 772129464 310698277 898561509 138272608 251356025 741338267 734479421 786170698 488587537 538372552 668720558 280497155 752176249 116168733 767096296 265481664 624976593 554266841 515510476 718907823 929362653 271203977 437361841 784399886 598082509 360608464 235477659 374640822 400619658 951426863 810868397 603687134 395820486 876029466 535083850 868722895 601912255 818498595 678260924 933784932 328560560 770246819 863340181 228718514 108887345 374065354 116850972 641552833 388529111 490687893 377484972 699837729 780547330 444783376 652576695 606893603 310303070 582894061 714645624 325161533 140426322 991882730 579502706 983564726 572063511 594432738 297564227 188531569 539364601 828044995 625228637 837310383 762644576 324094359 875022812 958316577 936043614 747952233 302523688 807925616 307680703 167566413 214756038 289581434 375798419 162726596 221293851 405561750 464385739 795604488 639870718 479622322 699995122 937927478 488567932 923572894 907137590 354619361 137882799 193738138 920647405 656669511 966435788 933212732 938061777 414309121 712002960 980916357 250163975 586006197 887207021 115039708 283946178 823716841 118053849 898670905 723411954 616479570 243241268 133659929 484641983 417863253 398268683 398872963 946977597 794722268 729062953 751143702 419579043 878652308 571168368 498485330 387296454 147207821 455212487 373301965 985615217 232433304 749940473 615658129 638293309 936513029 393826876 219430589 649640574 870064850 713038339 349884395 875243318 234570004 175994719 673654103 311287739 286712535 772104891 134567883 164820625 534867179 133729818 422992841 717244357 441021677 608711013 861281357 378801057 660535605 648449477 939315237 182499383 635302952 332755641 166660010 291200656 654701469 445720083 290994127 152087838 868223921 288640750 592931496 259199309 802630800 475647529 764735620 325005910 275217853 783079830 458215760 980972105 809177583 848666065 744141282 445953238 911278815 975202759 727715243 947355685 926626667 858925415 144178014 968389402 890806068 503031851 256009931 604155894 305046293 406161819 805377522 146844756 750633681 260536635 287514930 308374407 456832919 156560984 643253692 398027345 739064637 300013491 570699548 786797594 881296544 294719210 747975325 487508069 421958932 305595521 200012617 560320898 740475721 584147517 485368715 473372047 570711512 448217128 518327193 127980589 542113050 344178818 450517680 421821902 844502918 355672919 802568071 192717111 577642192 116863878 808635361 526004230 366859997 328120459 839490133 807671685 436946675 902345585 380388695 414472738 882122034 530942967 794544396 987433770 569064689 657952610 183786498 975122344 318836153 890316223 886459204 160108652 611758066 315164186 908517847 111087294 113281301 904457249 868294754 360986144 536333791 118782650 550676068 626763134 299564911 360508771 874040471 782560926 213859230 658632931 416274111 998329571 741068551 485351311 152846797 870794367 261181048 306512168 718088130 274883475 749355362 587524011 973599947 118522540 119530081 619280214 588175251 763178657 596426767 698120671 936248204 714679311 434015984 788151668 820464897 963315542 794791040 534459616 216502298 487995074 488517432 305727712 670829769 118891724 908016051 182105156 168484882 712802399 567204071 929680725 817435671 509698402 675811551 207294934 768325893 966939807 959788324 964320048 265393506 733950515 321129871 333234911 957360110 827481179 387402703 228869248 805347211 744512257 223724399 937981219 183748047 930093130 312320842 423114111 888509687 371634395 262733259 639646060 933373591 938733318 121381937 279132601 186970483 292711921 257473578 483308753 795381075 672448624 247672614 930246270 886993908 999077771 138528370 859835367 530751572 453317838 167388402 896795516 431248698 927474207 261411452 691700971 281771199 646402899 223564287 777992442 923685048 222949970 269834667 127430061 230515385 162265932 722459380 935126491 134587322 838599047 477192468 678923466 918500230 762469970 116024344 372386305 492199549 374444024 387759513 365374326 793406995 786891975 653421819 448334312 800829666 567570358 447628085 925151004 200036136 385107098 878120626 564541961 335452975 553057598 715304328 945409316 398173934 805419156 509819017 401597053 103818739 773643388 131575288 365851292 180614143 635896221 928428307 907304394 854752071 626267467 744617716 231806308 545722839 660846481 776764141 136839575 739202100 444809510 356585978 909436299 502194850 980973138 940839952 504276966 440756646 267067032 622791310 479605635 928370693 156669228 350244767 886095476 908396388 539410678 280124528 619709197 805470235 262315855 416367904 703553887 914488629 682249507 791365801 160251855 563690041 906748432 348873497 840240691 272417682 394790441 946633098 678886700 939464566 727525663 286484999 597752708 979724054 817784797 126565019 577285646 126474769 233148987 863287216 492503379 308850421 693587460 174570571 272428268 495298038 176429897 983780956 378063542 239661528 210678686 371251107 282716426 204239870 436705671 660094980 533388386 355709054 391001876 402795668 190091125 402185845 713460906 182167994 938440227 686640756 424887221 696673510 164550855 271294576 350033064 236743372 217274067 108388523 908971303 433623511 991082097 905265396 382381399 497717973 784135298 559618269 631130420 826119625 215470541 257760069 833820806 149509362 624642443 663245800 482706708 693789569 930729642 893664770 735152957 169635124 690798364 102960705 820988792 710795739 801409406 751405506 746682465 763666847 284408953 833325450 232423802 969927944 484176046 560072216 899324691 875798984 117546579 251558484 378921670 789713872 898210419 791047368 387310860 459054979 467753021 468326813 127219650 577055154 827831702 109649113 340057045 334229284 683291527 138562982 956443298 337514189 203196291 549678889 648242546 597705017 327326912 371601415 181205777 278809839 210743947 704445678 265305967 407893787 170422189 528269002 183613586 872959094 727334709 355632303 757725662 729365711 110791981 347408690 365021263 730156211 665947402 884629293 857767254 857283062 977023034 577451720 537347612 683729818 246421090 753997241 703055567 275038502 826595227 975720155 397623786 714832188 766811312 886783222 592970024 268814386 784255001 456279607 587722912 751402710 819963904 673371088 726062559 536417052 588729103 641369812 732254183 476295015 477553070 528675184 865551491 190463599 308076380 448629362 222510981 311683734 827794828 857330237 678384569 335215612 407623302 685343456 470977765 752623815 114694909 379379445 629249522 911278881 363444124 416433700 294202642 346293525 695166478 545496669 126034037 747828663 159920301 387079966 119214488 870067511 827473473 378043555 639190632 585379717 587170568 953551444 417688965 904601628 617372938 332772103 885005981 100452463 760640458 756218491 768523901 709178295 733411306 499298900 576147543 667712762 762441495 503814583 430896705 672862572 512465349 713872769 167946836 340958993 444427119 319275503 975060706 897365932 885534245 419194943 125824397 946171919 484164401 245163907 363689857 705747643 352084854 904524408 210540149 239483608 311225246 943236915 693100114 124464196 199506082 282482890 443914245 828940404 566339267 749257011 595742423 602374559 115080544 559530643 961729868 686272737 696936460 901025889 466654579 271548798 660108625 889001941 488654719 606037914 903750826 690936245 665388699 368244440 667920409 343513176 188612093 497261310 719326687 180891839 538149420 280592657 369659469 822851742 520577111 806827757 910967174 633922709 325432179 506201723 244375181 396497054 417927985 581359304 616785188 662040379 119801080 610934510 946808903 329411221 867725348 537560104 735835332 540730326 493075090 456897267 253923988 914311210 387613881 297964767 352171271 619839996 344519682 208416890 745214894 961482293 706942996 212148111 812703940 177861154 897976531 126738141 699021986 455582298 575313722 373458880 358486506 200041386 325284922 312839657 394230257 478312640 575401198 599761086 213377651 564597944 409565845 913461543 496025744 486679050 225608661 565737037 775873798 829867227 666378112 834617818 673014082 730393474 426462102 831596683 380787419 840689527 616912885 650943603 613771424 306126249 574062482 557803049 193284203 870645430 810755711 491537182 204072357 603721021 962629559 431431650 990688223 854398700 287377166 993069141 587642726 468115402 506765101 325039240 272535696 521280465 893885133 368522149 660324751 178953609 849338889 917722648 831301646 695781599 656884803 708799146 880634737 564223690 541101768 769118871 156532008 320135306 113114888 679835910 936939585 108540827 708937838 302016438 107128318 314302319 781580568 365074348 354859156 459966247 299031602 607392418 632681584 291310872 171436816 301892780 184915409 423424942 426456519 197243042 178907244 498750579 741992245 407692324 370668260 822956381 180662686 284275978 388291275 646624694 434000710 721295446 628663832 313971973 541022710 864231376 888990664 931384569 177620191 796775372 577918707 905522284 904319804 774240262 781597281 371871916 184660892 330249601 162787309 159852195 108006172 958319778 836456588 680288944 304989095 897921979 709036360 320384158 340324062 706003433 998939820 681677509 976596825 759362604 327126698 136832753 945256378 323977099 743046416 412249662 995190711 147326224 696623342 538340815 607085613 100805616 292346094 343011741 167867533 406539793 548533227 986864167 744937044 514305392 412582642 364252131 535365101 251651649 419304266 518524695 164710972 688422173 274890036 678260065 751893232 135067900 150844810 328674854 149045907 332114995 784038220 257555827 636780881 756840349 463601235 550124622 665469267 138488640 381461693 339960687 691771601 813234615 630887986 818113394 231169809 264232505 335374604 653087975 985838622 457884364 767855862 600814623 547965254 581603265 210448678 480671004 623182598 812593506 780048749 735729963 880257892 142314357 855391582 914462071 795857918 374428391 219858759 419639251 425750467 737881923 647953659 309599844 776702372 768327633 557247209 181116765 641478150 670177796 287850728 437855842 932881670 374673114 177164546 813582137 497536890 832286208 337595452 315247964 193016098 595898016 479213681 608931594 603211344 741233360 488007240 875591055 761219733 873667933 763972258 191106198 979362548 478594701 739530334 669082841 791316415 455545828 750074904 692088545 177631850 587106311 325498189 770037835 102517775 250838579 809369625 920392434 758736460 116847240 906689983 436658499 820158512 537706377 534258390 604572260 709124336 739693819 629934893 351678756 341003673 272477203 108612266 804223263 902583215 132978538 815664862 157299124 896729806 529244757 775613533 362091878 825583441 999524886 719156305 413820445 841361331 982009757 187334389 962126638 194450372 350503677 707664888 988715266 289068251 433204673 892551719 233483903 660592922 373015317 112575962 867361366 915985440 279606783 682309216 176864202 168559108 850208278 387030468 358893533 927378364 978269221 969253948 247910831 388890850 493588970 618577008 663649034 257164180 699490405 883604631 211399290 222413762 629621392 446148933 766590788 647432179 787565834 389220457 480623342 966590251 615075311 403143181 168749133 843008096 324229346 368125017 369224985 334291770 649477730 742134980 316670462 132871667 233979787 951818024 670545510 335012899 954597444 201166504 351143045 718471831 540948907 599204192 351565551 393445820 618787474 127430292 627654970 225623335 868557021 719352890 302401085 176546341 862719409 153110202 647131332 824105345 939184841 396555901 303653767 544498147 984299198 587205002 814902872 124727404 261654683 599219409 790144576 276780861 540302005 946436885 826218964 495995764 961793235 128632491 852848920 403487088 848549566 519759761 836590877 230842727 855513889 522420991 258233562 766937137 697116706 657982090 807391497 100690848 860024578 965176235 509868864 696941201 596917395 689775295 582020438 740733903 577002339 146303051 932664419 545481508 772166718 286649142 461727339 213799292 449675290 465724988 389753369 990862558 826548993 750757130 499117595 106112492 903914756 104883125 675297996 535014885 361235989 535591782 682373202 155255441 284195942 331890761 779291455 728437764 358647982 793481464 772394039 392410707 329077259 810385842 584905082 948645026 597786252 931242477 643815439 239140224 740072855 258235876 466791922 825810449 874795540 230757495 245887792 890291799 165638507 763764841 238298437 836549998 334719818 501040764 782367031 214419307 369260753 792415392 923782291 477434638 346323682 144550360 255827130 563497018 714038048 769483711 648710659 445505749 143463161 233024321 730820996 592946160 793663608 117528710 519974934 758521286 538046066 602343863 866936805 934430649 862124284 268551007 320793549 549714583 474130911 657715974 196656410 866929876 535993941 771151759 519559583 336366877 841922250 112351718 340050801 166751443 363921713 703328080 363923276 240368438 357221518 769960301 217745089 622181350 830835353 820831160 954604940 752857986 240483881 516398234 494853964 186223092 724410819 533990639 469580529 754288538 877034573 876536951 397638148 903943812 812622524 159132568 156973359 511479368 590084313 391550733 816400668 749751338 854543262 502238100 936594224 529452148 456700880 310538532 223762753 296426416 443185934 693483889 526562037 490203628 951458006 519617680 178767125 345142804 678639740 329530248 550394781 169176967 978053775 449366098 102455998 804450979 278634849 147535511 439478371 144163136 276784786 257162422 314885861 582714537 534980563 229371006 375932999 166338445 382262777 671598589 375302159 149223237 140476562 846773688 805711173 525690054 879392358 301095414 102715519 931349275 933013302 344331449 744637456 727786135 718710523 224064519 488766006 938326616 481954662 188137134 116785798 166946780 280992272 198801820 610707323 370157127 433195748 596743082 136790839 886306766 296835786 475908589 440096798 866867446 764786754 383067696 491313422 586187210 285573913 103897344 627536670 111353366 351707738 127726287 817206806 387999650 852820120 983514714 208698008 587433149 912919169 704695064 712453023 403876214 150685451 392039026 316179771 452610747 307929108 544856324 149298856 972608347 374699868 872764341 168002137 534436617 963456926 182493719 904426966 224253552 178411292 137517248 763495973 759989442 753797778 783328032 459345821 286597863 552010386 885260230 414658966 390934893 762540501 510385689 779543848 200516830 123867342 326513614 575560560 957438962 158626965 833468141 518335393 586937367 282680504 797944112 166135195 785047335 543577067 442200354 556122634 113370867 911775388 447190803 195872932 746545483 521295890 198972192 301041742 763605944 110290201 646386799 353567898 712896802 584517002 338214156 737934286 333672430 540636375 311316093 262453244 190139747 342832837 944901659 749611345 638082563 735982272 593482057 707117268 908653565 127830356 434320944 740611115 536020583 854820644 450411243 812224302 675401824 927546818 552893578 842228881 713958755 277109947 913430298 559708441 269369689 460051927 943281869 460141602 398748034 827769133 609337581 143614463 314155560 848885508 317355275 841449779 486409090 648837320 991683458 751508729 340085490 603222886 797184815 577469231 726590643 462784461 875221411 341965380 297352246 504179427 104508717 690002273 506089993 380957821 755322445 155897849 527010958 134629123 742158829 906351911 897337125 193692446 993050407 230991071 662755545 548988038 314186575 566303116 974903508 120884601 889154884 685144941 812416037 883861354 207653122 185838873 103643128 854595699 552538095 256091925 142078657 550473474 271876557 398782854 976236418 130223174 842261118 920028322 763120591 155389996 298850453 541271193 241683431 289105153 145108726 979276079 734769455 702927813 707997855 572149274 133306232 320769120 285452995 688067995 319010431 511212427 285050529 415762131 758564412 952652098 480810196 262570135 412095865 604241099 648093322 318322766 469436015 420868974 407634074 839362232 337895778 388504592 515322729 572983044 486459489 585649509 826572230 120846804 904092183 771986955 947542353 859801863 596336588 661352676 875388800 260217814 585920498 890613827 755813321 196390958 250226124 231335600 195080872 830495878 602783149 529061900 850835153 584646508 443171411 262907578 166424702 798307355 694002346 758826749 841906340 181067667 264150906 422537881 184440820 680419799 646439650 411394388 562389507 726568849 695005331 318891471 515495033 829899325 106769826 809286848 419814432 373180740 973055587 677369504 973109931 352533895 152137734 930907707 855053651 168881964 923538222 215614423 124430969 840122489 484261234 732063657 339903760 714372229 359573775 701148016 136555833 939082177 409317908 600536941 599186040 639633113 433053495 528028294 377648132 100430124 565547210 926727329 290951091 245585647 837424378 306136673 528496457 333399188 921647755 390744086 625042704 244517921 217329866 588391367 162545283 462479911 617340031 166397785 729600026 866425079 622373577 165775627 622572375 373661199 549670169 778050764 755414398 885569545 103777871 933167229 809300348 230689592 482759791 903609323 891011076 298116428 519866120 859643338 125287227 580214279 858488823 921067386 482811885 602907485 198474230 243406436 180099329 693066563 249761601 129159163 510607309 179341878 749230333 477273102 648526802 331269907 701468215 332120160 244747022 123944163 600218909 324176397 451047035 503099944 448641315 880109796 356134454 843794704 601579359 273236452 947892022 729772357 530653730 870588180 490929260 441858992 342626992 605419524 538056540 125857068 343661885 585677129 853690165 353465211 598735195 424824067 200202416 887704477 352518044 365415855 252038697 768606860 851767627 277248360 611607491 723103629 482125212 913397819 356292283 709467490 754323206 836337685 302872100 441172747 891427205 826511585 580184222 643909621 491476607 720607654 765503955 513015611 728153381 360143915 673814886 888401031 242950446 582106282 531511430 184760041 956242588 902770150 690616245 200203123 613396959 224351924 262506890 684489354 514828832 540412245 771103206 142131175 759138782 393286669 271002876 899499897 790931459 858379310 554938816 718419362 647425359 370220830 696708913 176354797 958186012 402334713 766166049 453876499 876527156 334613227 477511254 497490903 529067077 239913993 909975650 999041050 541050435 736731894 733636852 375104745 815900627 461094172 145366830 161195779 585687619 585047223 413368863 620425617 939021559 474983525 606418683 124412770 453019905 312030987 189577687 335669060 448092042 801974327 654758566 983203864 195330077 876904394 588430242 171176959 448583542 694168320 837524735 894788260 952157175 142409767 287734484 607580160 614786158 727153889 536585440 550913362 614426434 250499494 361409830 196527430 167983782 512023405 550638322 685131718 860818188 858309983 116170617 893827419 186255631 645419247 551339583 426186162 743538783 247237766 840028956 607234846 732706701 873661367 580144508 286142137 999917498 576355900 153172757 279397564 153993341 287696694 703824969 968450973 840382832 744462537 324917104 689924030 408250922 746379636 197877552 308222115 378694081 614524029 371167385 398434485 198028274 658641167 333093716 889177530 489240703 704339881 480069011 510976014 594123465 105610975 686788910 172773595 359707699 327460210 874002242 596203952 927682813 562065993 999428027 771996911 532936722 909516437 713101704 205281697 853002003 643060394 827836590 684739640 424256775 151552746 461933253 455262744 937612497 282936826 722025183 161622800 164498703 655803043 265317786 119358935 253852070 686514143 162489258 664859839 885989339 556507239 825741995 166006118 211647311 296360253 537716606 306701991 838393473 923118071 260443290 327017911 728495476 710563256 507959692 671729827 594116410 825355830 349558280 595672499 410643569 126075587 547215513 571942172 370414143 600729488 296095114 853098284 810861769 147659138 238741225 818481448 154522703 780376671 982420785 764746603 978218402 667298082 895246002 386665698 844448627 893860546 214430688 469898734 232679669 173433608 431737261 828463600 633473646 589902655 174601404 590071585 326537765 226741298 198216415 650224987 698588139 426030986 346244434 542793119 688582725 706418116 423087640 291751570 439756337 840794373 961837997 836634232 631251134 142565335 965135623 603385970 531608246 309315192 864819537 925105282 501219503 826423999 400597967 335072046 360772526 727730096 102336654 870390341 966817344 396340688 554733546 914660052 369512228 909438081 128701464 128708130 692082606 308973373 573811943 183666321 308292800 667576355 521698039 720660951 359490570 802532836 792623928 181756088 119800988 971449606 293488818 461983920 708976623 610560729 578511537 388071394 784208440 108515908 135776782 618305716 423463747 162964996 332708479 496999605 764920778 191838704 552629741 785421923 598390959 949412864 380166130 769654251 105517897 628828362 997460861 557866444 195140593 242865999 355765348 508295892 341508674 115099108 690878581 221407967 133281598 458762317 950995526 487975803 855097339 899156305 432203122 817984552 852970188 985657139 346476919 512788442 171563754 322926765 800157782 329672827 344697781 829832772 128101858 331563878 599465583 827839411 995821333 677521224 633104540 295416830 303263406 172399942 650394887 236251745 912359074 228419030 836009450 106408817 520805497 167396278 900961730 852984493 103369289 830312636 897595866 773936027 648714893 953078823 553094567 567190345 357248011 263658122 154732576 821795033 216176246 960262396 303501866 560691767 428253286 411801650 297341237 718489942 847987579 640312010 478134853 557914467 948271019 578178317 819917788 843195546 471248273 196129275 562698696 245361188 798004640 738327074 801435075 598233582 442197817 165074415 432624610 386091287 805083158 854163490 224208415 842631109 342239531 970076186 962829084 836039838 424270332 872633839 227154864 889816487 751724810 614602713 714804018 907245310 889534448 712553286 972738857 330636469 312171771 436697347 990059242 732724334 641077078 195456080 159212651 121762666 193757425 534982346 190977210 679631757 678099574 493338046 384430802 875435277 606897777 121969248 842667069 931517592 650221174 965642439 853267008 285130741 309734017 384881821 540893779 382522645 520574318 477075260 602937946 903518789 521246057 832061427 951651926 905179100 523706906 333721540 305188687 835014576 781341853 519433116 236422229 193769437 372849445 878173203 985840369 870182542 149047715 974038406 159325567 448020177 218343440 686299659 417756089 759598726 428563549 828363287 130485926 764780090 462044001 230000529 426444793 814570720 730663741 928587547 376165470 649854076 481965072 858897193 280604911 201998856 158327080 605824140 263394580 677109641 117202593 574409044 480550029 605984457 680361430 774046583 900582518 900237235 298525442 732770976 866430109 602334304 482310789 818315029 672099890 606530608 996324836 926809183 812549465 370041967 669147271 739698637 197673418 669365378 963901668 601727378 602386507 825286459 276938005 779417511 830392887 210352706 173072907 652996999 921434687 761185053 183591387 671934540 637728692 751529920 679687940 659801637 244051422 675565286 971788677 378503864 893200568 103067690 671091010 351774735 562425077 452616657 574638592 589420973 341801721 412598903 944398861 752243827 772851017 646982606 852210486 236388310 276058643 651817624 196657798 231874536 499301948 920184800 661050180 356545459 285104579 443622812 395164127 247371058 923041508 831542886 507949713 719186513 781771816 280363732 754279137 172992941 308526743 526770128 753782251 228740752 651628792 602513624 654592747 388099057 680230431 533873342 761351932 206731065 166052899 723451780 866777064 721390189 897413691 983870273 466565130 599535492 471057635 324170039 180905427 204978478 761099100 365702881 785424368 557428640 965879291 548618060 791533029 435169644 497420767 533064995 696893249 845024636 789400114 965721280 202584718 544937848 787002071 321414600 284817998 504537867 971528778 936949992 412538414 273389147 636444000 949273714 113723791 245978240 194025847 305817720 294348861 215061746 918736475 207962634 770152071 589150546 832167461 261062126 649905300 350327452 201904030 437976602 382008291 124119601 930231184 144842148 817135718 982337279 350613569 106289135 818493111 475718968 830380047 611584516 774627095 720081048 473092555 447543926 988800789 810226407 106636883 540688474 373349083 223010577 658361810 816969648 113630182 704762894 609252594 153512477 881914240 524719478 494216663 739878518 485269820 683833962 124286695 472176559 687405373 609986892 882720571 874094907 369023889 288138309 386555036 238684392 480266648 790973092 315672041 797616571 442702629 844761426 224873262 272509802 691477267 694480912 990055499 838070985 263053502 455830301 609903415 809034374 706475229 239021703 539510498 311933917 897697709 628626828 301751452 242624714 135739435 332672177 930753110 333743077 843114322 329411296 108665857 480060857 281623185 216436815 987043685 353524241 117889606 953530925 488587355 804863329 449150237 731397436 167576022 499141215 631371928 931548458 362482994 436276539 888781972 995449618 426422385 859134402 461562565 179258972 557418576 875291938 363544693 293930540 356181077 313370746 947165661 202422433 887039800 148033696 543962910 391138140 497942137 233252614 190298301 301132083 413627867 974269745 101011307 859913087 855891120 887480111 375232858 310658989 733724793 965057261 711998216 552584139 887707038 653126815 620906486 262683821 519705226 953457727 494705882 965226095 175746869 204078139 954439913 260729743 898071821 380173024 490990464 407495627 481992959 741191763 748214582 425323363 235355360 492825610 383490924 424279885 561210065 768149111 333640044 348019433 652486824 987945653 627668973 233329653 900165208 833443373 337336630 716185379 714284252 388935518 745421583 969025912 996714669 443775069 296535679 933175589 611790245 259659361 268668629 881880713 166759308 795889236 429889637 859404646 220435008 270135485 587930772 848819175 680340220 661694745 595481177 193190491 239040308 524072110 989007295 590385081 226609923 807027458 283185332 408291189 534202976 666248724 195539191 111789288 113911781 311317270 772115364 153432659 762345043 721047384 374211361 860911567 189731652 952473933 675348072 585062683 720390097 986970716 352089739 703973887 588878255 984894124 425743631 728158825 854059433 369949268 914923722 285108726 915767226 916512983 777883401 590106003 294275152 102783512 259216542 333033260 287994106 213107379 795265332 202467436 208278290 171729081 607881851 834932888 691406654 747463546 152735962 625281216 736575882 789660328 979388120 259693256 969986976 342850251 505123996 942109827 573653278 431561678 724039297 885563284 555510392 877356827 858611706 993815714 566697023 405308452 394939160 397611317 276236529 361307417 420146971 890037281 683330509 686529014 791193910 174855416 594246055 868106824 469795225 753748785 267497815 609493090 390501314 938665160 627023851 933682834 445829003 595937970 403054560 460438039 196813652 819391415 703782644 662042058 484477387 243310459 978832299 225920311 262286312 821893559 404939960 746067879 680870829 941722044 772912315 716724367 617086012 238701660 534715184 356103616 450610816 628102573 597746397 571480302 861210341 486799803 169678488 476678278 525326620 579920617 376887159 767888230 506426670 509467402 840628812 837936592 622712453 205016495 125189195 273197265 483101071 290859553 589806913 601773436 266070490 164497308 387419279 838896945 261610068 465429219 936482890 843198084 384691752 633462110 381846406 905970628 127498591 841587619 377377139 842592935 185846296 194152210 177438673 949485599 597207259 637663867 551822815 679037647 703625966 259360698 413254308 266942137 900157728 329268098 495151772 841288552 656498522 841176389 399168145 179500237 343345164 670962202 999920197 110707423 819642150 983476015 890175566 415150363 445811382 902555523 147813529 412725581 724415067 455442101 799349593 594620689 677531536 494398994 170107678 348021718 479638249 715924583 575120253 750161328 209714994 976864395 822456102 922929414 719381787 791677098 768793284 353573940 574244939 632774862 541074848 510842680 932651280 434762514 145419056 385483996 449405006 450777621 578206012 290292388 674881989 296300191 887989254 248213339 752885159 570321308 644451117 871934340 617462887 985734525 109811350 782966661 729046277 228904660 278541264 361125397 647918749 662081630 807418521 509513916 213669207 980064579 913743896 356783127 947601919 279891618 847631111 358044627 994234389 927118698 189391081 804865845 515330568 631600516 140199691 478380719 554439372 844638665 368842448 173840917 217982325 388628563 953025586 478892135 286353519 424604696 929621005 390636486 199826098 854881365 875889196 323595400 636230832 407428675 527591178 147128425 613593956 664857495 829717298 342533917 687760920 133515439 871025843 114787369 660617499 843571834 175622376 156800365 756189482 407825012 242685325 862511550 221249803 271666722 822214808 879490654 681363416 574423112 730692296 710963790 354311863 721866892 899648758 916026613 216472485 727430759 584492310 106372147 694888358 322771207 385527972 254284904 782135336 369334240 390610834 547660920 862851025 135264439 997906623 381011785 299323915 154156358 671676582 779519385 628266320 332421661 389780007 351492178 177142608 859024195 920298484 231916035 515321017 372340620 511408472 672636353 225008414 124189809 455564764 298462799 943572338 901847403 274187750 935969692 824338942 155160941 671965231 850060841 212792540 684995095 796681466 781844388 506985020 435062683 469286362 588576042 632348660 937738403 839419489 432307271 293267836 830571870 285974820 820397767 750655951 536536786 689286203 616736303 189939020 152488081 303617293 453381775 600017627 497096192 183489974 726100563 298213682 428071242 229063812 165632108 791110930 821047755 615276689 295042605 339660093 726150959 230095741 578438660 464966841 958292953 428433007 559759179 717422571 990736011 834197468 596751809 110392258 356358254 195169642 488546105 430976098 382397835 160906249 993047982 203529126 919020408 669105752 525627777 370673727 427813799 936824429 641781997 112423518 806386802 124499290 749666055 243691245 861052964 386708709 235944631 630942293 131543343 613147457 293150076 517118607 976915705 795741299 695819881 793118984 756583750 948156112 239564176 353054527 376357056 992295561 672267697 151715784 352471874 975715903 524555009 642321052 931616066 576911747 461238766 505643603 654445166 893009538 335408181 196152122 677591246 683117219 131919163 774066736 528385868 849104993 242266908 161807005 842146920 351060753 237018441 179425096 901101930 289281893 205757523 269566356 734522413 920685119 761623002 587078764 296255474 162646390 220964565 151771339 890766545 860431200 123929171 132408966 763061587 707217541 476724020 273937494 179544989 721897160 330165210 144120627 639090962 175024488 601168076 936555910 943326623 569773536 776813783 798588629 218375345 927420808 826369869 119234686 413730665 726225440 958153326 100196807 758416951 836645087 696380521 792143669 208436811 502072244 584018762 702730420 469427328 477337157 378017157 756377454 958378667 481387884 358344968 240360359 765472381 454176546 392736302 707499645 448140724 989123079 619508446 825587009 515411997 354412689 258198857 644025946 719348557 343451157 759004191 229134335 560967404 920156553 637925286 743725933 148345704 852141497 188728573 744949976 379716972 803025837 381466805 636589531 440636018 912865859 688630282 537826143 172697190 895852111 526902624 426276841 101677460 519757800 430180869 209802720 536978355 635906939 164934166 375755455 575010205 801959911 217375699 330429701 474329696 668973237 469114600 335786340 853668746 711693900 697145954 901607949 119828148 940279921 285149858 280278411 594221172 406194558 160912084 434758846 287313379 352546164 260646784 748561134 786060108 266411461 474941829 689132612 920658307 769928649 168664520 507065641 854800724 873146696 480969751 265306535 558871306 280799373 244472870 777659440 882866724 251845409 156271066 502155642 754498012 241462054 209730830 117683442 154836066 446664382 600680612 166464775 414933951 339148147 770593118 433815980 987786599 373639323 388130816 629862038 343623079 837011595 402362824 192725459 221173337 948910856 707227970 176897259 303979174 221487688 694700054 814421848 804911473 390122393 146193814 709975269 765207377 595929873 173944558 493138671 322922387 493085647 125135865 321710542 179351934 811896179 219246212 533279709 274838048 110820649 683102455 721845893 396717957 514949876 685076825 943870792 688953281 461602863 445117075 432263116 927429527 939362240 498778485 924982881 970792307 171790838 930151078 298545948 920073169 109876196 456280862 224446406 774274628 314847071 773134095 149653770 421994996 360779918 452722900 512129363 220203891 669047676 743860192 192393486 582008182 937893266 543769095 378527890 736090516 701889928 961734272 973628422 454275499 837575233 643134811 759153968 185479614 465610353 535758325 434895152 124964994 957095189 473543730 150436405 838331093 143221208 964003034 751423821 459269930 566085757 898009903 271591640 501122089 363227087 898236070 471979556 246155105 531955915 554381803 780974217 667314228 679413332 550359237 971668567 848037234 897392208 794849888 925324469 894933684 446266443 965531414 543044257 705087036 881707901 172382833 789236377 135574516 609248655 420077989 463368862 934345207 600837662 480477253 376965172 626811257 825039347 268437023 942631869 839180322 678241345 394321842 538743150 758158283 503047391 443485910 177093668 750530389 991636249 409667906 223601445 901505944 106846651 347096221 468432215 150236178 346550754 245082525 247847680 568543513 181846713 419758133 659150893 836511986 443904727 382775629 383938451 348602008 725619902 970590753 466035589 677733301 476369212 814547576 353038143 696583531 894261568 487601734 791412384 898961683 441622742 367699132 992021250 961362610 391250525 751874506 640158561 302996011 158032763 580382791 138530147 430616330 635540459 185539866 305451593 716113687 792956325 418535299 500738001 335341145 639802159 335822001 641260069 756937123 414811203 161031990 165744075 206046701 399953364 941847564 253018290 140244461 732182982 146028519 747853355 876678600 430726233 987556061 169909802 979180812 977294209 648623101 422503677 991962162 434314666 142832049 318700906 317902058 323689753 864099059 770254991 767599159 709132416 750508989 538245322 563256962 849964818 321237003 609376848 624729350 557761539 418294174 702095260 279914515 650468935 148282676 610926589 201547212 194831974 438816765 280176022 325384392 892359090 992897092 106928452 561406503 371426818 172787846 349499245 843261983 704686760 935773989 224882505 827069467 315828855 335097171 566796786 549537472 631122822 464604385 433645837 297961610 105346193 823618354 179146947 892892831 191915008 399746999 677506905 943513226 842721324 257889380 655028890 323599739 558763816 127016354 116147761 501475647 292794472 576502053 893602803 394359191 466357198 799432704 404220524 954721236 670932591 815000820 472465156 279270082 818705638 626636715 235721554 391200205 614779504 934680439 550366726 804598516 628612328 482691579 131180514 623739296 904749781 245992162 679983064 371176879 160441686 724287432 609624780 744141943 984480329 255384174 852285279 937567630 880117697 795437175 720804332 296760970 687917258 373804340 862901795 581050654 399514781 656699199 699518539 326643508 118825287 794833961 772418108 957520239 310587192 369094977 527622795 675784554 893049556 910948891 604840475 306399074 983302345 359290082 675594413 848884469 541446030 821099026 764279752 183295027 560707547 706775746 310383430 906599818 933610246 776491792 533208582 919634336 704615850 679691600 266673577 290727952 470143884 548415792 851930585 721799169 195393584 978478657 746191992 988771511 447081436 105179834 935780178 215981923 780045903 911026171 762995139 110647074 104261258 365425494 413058805 754792372 603481687 298735684 903408895 629596924 958409271 230058605 884129266 575207364 795498769 241472375 777031157 534787898 709834240 577766355 269569481 327297691 673452100 876504860 776976315 691415925 316668339 441857550 436285598 852862329 997899640 205801003 169738748 729965320 699141180 875678747 766840963 457941488 862666110 781181767 213018422 573206467 275498504 194674822 629224703 811687406 157146646 517825833 751588463 938261242 303753435 603970703 479865522 533471783 978237859 593652431 598753736 454859988 178930319 324034994 923064540 249932861 177657502 735542401 210220539 352323319 314989261 257273759 235194324 143829253 402269071 875393221 400565763 365354914 274764460 207865301 433167610 309875252 984223447 490908248 940768057 983459504 704124703 662660503 659722000 597117588 732575996 456011809 569968740 603866582 644902276 999860427 819681198 128491546 302273877 442146258 135786165 727766384 374456706 633223673 144244537 217316945 340587440 208916244 124169820 585528944 618312804 308492892 941426332 735405759 567907575 424089121 388335098 467997455 418331402 229192422 824445534 506942762 730113215 465179072 837237768 265395731 212146811 680913875 273055894 847277252 963329158 422975686 511957845 513449507 368722744 177594466 117715735 119395882 423626426 900154103 356948854 849419313 221433472 823708825 713177467 239325605 515828619 150463566 206834429 594212444 474077845 793247558 491423420 769963990 695231511 571313449 714359188 567732597 893082163 633476726 911304081 934558484 662050940 829201634 504398486 514698560 695603296 302560213 788193199 453133104 591638121 212231745 936672652 418298547 607406925 339854286 619868179 428322430 755578449 990610264 184147143 761535247 597899281 195277794 322520494 210023645 281896040 312320805 259419937 501130199 449365589 923933092 549444413 642174056 853548415 951099133 525492748 196798477 545484077 717470189 543661567 930071809 442503239 631727463 456178158 427157329 817939280 158765658 350310253 539412811 268166689 890427360 839899898 830673786 317829887 291766054 655182549 449082535 908432727 236135177 438258467 676603674 764412614 579493744 726658033 263349486 685162870 856721647 367606393 281486300 951872367 348854893 963204809 708520642 426609186 100028993 933878716 339349127 618367708 305107621 825919921 107793713 839203887 190841524 449497299 403540887 834225014 595602296 411882419 398048831 853244792 675580109 462889110 660206903 777431004 517673633 664324582 389769520 358078398 211323213 583793250 536707171 451340840 397913770 679368791 687626200 829913735 709540986 725136255 290273602 185587054 617602574 925915318 864415826 141680493 628314547 499328656 177821469 384822526 201010030 887408930 873371831 742295126 924906912 513024473 919483158 496174261 179474596 652128668 353455006 595142413 868737566 388857454 605204990 718532317 970237250 570944556 466618879 276233488 466063077 450131182 762179509 939621336 445849423 268430416 889086283 936274563 155804700 798833585 798183947 668269828 704140894 154482826 427306833 557642751 200284116 164461812 284008332 432178154 856584683 245631313 231130646 951323555 773324462 847470808 421819634 826552492 702649315 548493587 996246024 966116248 169073516 831223839 727820666 465299419 823001572 873795457 935583227 119628003 187087810 812823412 176344691 131693718 246230632 554499035 254094083 495078345 500888200 636594707 826765788 719372640 508637008 414769782 571729981 644302388 560311156 694163299 254897550 243192905 326678614 462301266 887241793 629905451 834571800 701419783 764417460 644552754 303995063 499054442 192922587 182491248 606827484 636316971 583366835 523221108 510931493 524475997 127257209 654009767 578255899 125804702 701482257 794962182 657458313 660833628 367113571 785509034 415476210 907544890 207665119 933586200 391094550 959185786 953973091 120492435 366876264 676233984 623678919 694391736 144838668 642709806 355362758 870719954 875737573 759059107 810435290 235833890 595386271 440125859 831671942 484305927 114850747 602950670 651067590 297180595 895841794 465313914 243419801 301751522 182801867 915924146 805005689 537401321 293280776 512960130 900877233 414806608 796914257 326101411 814742241 436056418 618433008 858006003 576737310 781824601 758505038 421328701 428581612 553277560 175363594 236945374 330334567 564914340 348048952 758826724 998830563 607389603 884073850 147966669 106270119 158942516 478514082 640884876 354499211 610657378 405978273 141705549 455216735 943043854 891249537 172301708 406391967 406205314 580564378 487044700 568000892 864327507 789416989 573075069 680481004 160167017 372923282 535909778 449933714 830125271 223891784 732673554 941847924 519915617 314138768 913383909 579038238 717000406 199461125 771982280 949123123 525050526 300871622 527719225 540320217 368025018 381886415 222139972 989419784 271432543 648970384 386511473 935638094 806148369 951059521 319633138 390953156 199163168 363293196 738574418 252678950 684343457 127306727 791662746 458802854 519826141 481109362 686171734 541021812 527264795 714268266 849378697 101925881 701182314 122726799 698832559 568479783 258992461 670613853 433849447 814898382 695265324 426694414 109086227 914887200 818513750 184512895 930460693 844387357 861297292 648016202 350390944 623773920 711952088 924968721 433518337 801452658 909328919 992618603 860176389 381635493 561031494 166711100 257944357 811498038 830018252 124145931 400964113 831191408 774521350 657983877 292859701 780224905 993768516 748200508 678770745 805394538 306866811 648645786 819733119 381347763 187338948 854139285 128236371 994020929 811489126 317652993 558967582 584991413 527434015 661206815 116286032 610664545 382153860 245536840 925440150 931148498 547203545 898994530 140001953 550964930 444003945 713629268 605415666 565017125 958350799 454257468 562959921 686263621 228410695 527655423 424856961 686790164 502688497 658413835 154782592 625392718 261419456 844691379 998046145 738053429 124025026 706482409 218952030 451616501 381014769 845198287 716169475 268124650 848286409 850905310 658940407 461526450 385063624 973044882 310900510 113326734 230396982 778387462 130016161 414901140 679695777 464749411 401436560 923897065 535843981 880725820 976408907 330128862 403435752 999893618 223259428 498136045 428745189 348195309 264913212 788406304 633931188 471729804 362910082 736864789 954170934 355798610 716992219 464633593 833886352 883091190 290103907 800081183 518215753 445810611 723995647 436584509 620835446 452210064 994754050 418464297 581112212 843973918 830276313 195044698 830739135 873610324 985504299 949958278 804112021 570791044 630592626 319172519 982492576 964322696 476489769 882655544 128995425 316767979 495818495 933163270 693279847 670059247 794267052 769205144 427480672 978023576 166414038 694199001 289459455 285655940 447179097 415145127 309387916 673258641 480239184 262267404 708569847 894643554 114886797 672036424 930327288 962604277 930061501 591694504 421637195 600474940 298952120 382556359 892503670 660349666 476263172 910566286 219190579 570901833 885924864 290723163 177828521 187160328 738759967 681619769 997388483 263822207 949867468 184345392 688225477 451930311 818828074 969468779 460487071 569555259 631452893 296376113 519233041 975829074 888048429 635553261 748766823 854696886 191898308 454308214 717819869 735599512 617141230 514304502 649735166 662139815 124513362 298432246 510038115 332898673 589642849 730142172 408532788 259444822 498219651 115697414 552284344 599444792 521291377 810021598 536294319 438949746 881262585 511654886 544864848 366815511 375394809 212619296 202975869 926546342 168696271 378591483 490638811 651449836 679545727 128371383 297198963 228600445 665747641 685885758 967327627 806306714 334782188 525055444 853042586 460505123 257951330 694309996 957149837 855329528 951884611 203877537 626936109 684208190 126164094 822465350 398495234 713777416 804949388 352344828 630466781 166482994 154106157 242060550 683416652 261414439 472784737 250543629 284378373 929653025 116584092 604807916 735107339 768996221 423821661 183210162 362944181 553933949 898841777 512094971 745472084 532978795 577999808 529007175 937007175 729891204 916344122 738602196 629601726 965674490 713942089 357683494 620647804 975087655 147134652 340197076 818391240 340104090 464693328 207310753 524612652 769050268 263691573 553766793 757201156 758202998 889165603 864110315 247131742 926567122 717366669 727716522 467137253 652090099 364765361 243852184 900951195 882293617 202189084 398250667 176949305 439340331 331162206 124458711 406051116 604578852 302792108 862983958 462352618 880374628 601958061 882575273 327104239 435174695 835824024 724260873 677832917 559689316 451574865 707945327 280883332 918958095 114637807 832174461 999186896 605656188 987695519 231962107 196979358 611644152 212217492 519666928 774257440 222621279 695386924 583714907 112425653 313840772 968159303 746605786 804788913 852743472 196091146 710872059 749409348 360088350 660110197 678124075 549406510 105513376 739111828 657573281 415355404 275557453 264402368 541327475 450164815 501264313 481923785 415484196 944994997 724786101 455324660 886759889 747578093 884324376 305881985 249425390 677960348 557496754 666045938 804067786 484000781 647904167 766163975 737467335 533403425 840751424 753519465 389782157 751983670 264308057 236173899 244224997 405880608 948547871 825485342 595602312 386271684 515744631 760611366 931620453 767906869 412497439 488577596 655405141 897655951 469192146 312213355 817405942 105754639 453380323 795479033 530399335 279996023 715186331 568972586 399134932 925574648 286803994 684633149 309285855 142528316 448389571 454766463 231896283 622565350 754635718 570630185 116839166 819311731 637195700 646427417 374035532 851470823 235745098 368306916 614688957 386891613 850489921 695670373 285104626 815615648 449100170 292852900 875912259 648391254 879934084 334460296 899802299 632017148 327889082 854596019 765408675 549570209 501658522 805246608 868648781 187926789 574202706 386121330 895180931 787203581 428595231 964345047 670040021 987051640 754775609 950098829 130352552 489549336 642833256 789722559 571471939 899183712 700402329 433143780 517278450 706694420 990828859 479959314 625452652 711183285 727685331 606182850 350013426 555023222 703676703 752847349 413903235 221239448 965834975 501827392 937055724 458227627 462792023 943651555 661156935 467142543 971178061 692968649 250604228 388713593 442332151 154131870 825859479 980691910 922188138 663618074 153296686 836386196 400836314 432793440 437524146 686614348 388098713 742733399 554522248 198565018 528851805 758951339 360270324 863729116 389912049 248184320 331109583 971525110 598182988 820460447 762928686 742022616 168619553 611680730 218641140 287814532 981304161 927507116 447163856 241069625 516898729 786019212 685209946 563066728 604491158 144170275 778572321 356791802 547470847 205820151 270484332 593104890 397809442 375698055 670183112 554318267 958436944 553664674 641932265 422794042 691573393 336967156 479509981 216478868 559536598 244867283 619072524 814141771 791303963 822372770 191899645 238368337 560412550 784417457 194719064 652678604 311056831 677658029 826510672 292320977 776185191 410107151 530352421 106754409 497796088 486332297 686836736 731557779 243078102 242848171 527142743 547427644 407602951 756027329 780950597 285507089 922417254 236441501 296676723 666424544 738808703 480854741 290688269 460581534 491271250 699332202 775452869 321123602 817488188 566515378 252601035 178356249 216761043 298886061 843728387 154234791 174384830 470440847 179783211 428776956 982360152 389322812 586546867 277915381 454491417 641761607 858875676 451613648 112814674 369967315 760185061 855952138 735542789 201469965 355505219 478644446 730326266 309040208 943456281 490950234 857907538 775380704 863251062 560631916 313962461 147536179 125696629 747825565 396069624 978426861 539148973 402381345 185875687 549810121 920310260 187024490 936004537 883473102 675850437 713597947 194393974 385750363 544853351 125437691 923387257 367370431 542289051 194149186 616084806 585468433 719159084 635096385 186704795 771597019 841005111 662274940 727351043 890443641 767195551 306624578 828872063 892816884 872427119 638592703 263508223 381388413 231995867 877021297 410605945 346405322 935432375 583826784 242634883 690770451 167398579 137057024 192114960 276164639 645468160 848574637 626634635 210004992 250584469 616477882 290783719 449294554 864631497 840726973 188936065 480170631 285859466 183059365 383182482 520211054 823885930 610041705 182448237 234530641 824720335 167420884 606847480 877008715 614436979 855361457 351441295 187040487 374575355 810340200 671987670 913528064 891115423 257482850 829361948 283271879 206208950 962376279 754011121 898338008 248112541 468502406 491289958 903206105 113766400 702792292 609223804 613054686 432202510 811224270 755606069 869601430 978202288 850082515 784898764 947562813 776427588 128094977 476756193 636970799 905146151 481870843 602267238 874161744 172939212 912715373 390532541 668853999 792312472 211437810 762950494 409104018 231738116 961017213 482805089 758539596 140969100 440832772 449751069 809637359 806478285 769350994 904109569 667271241 686804397 624254531 633807530 750928469 658614672 379808816 314499472 189350388 366375817 133084850 417676924 682598496 515690673 960027302 380342055 383667277 264866086 902333589 872414293 420471852 498210348 990297768 293792713 904334425 150914890 932349234 627728058 343044575 735779119 455742997 828717505 279516136 671461221 707478462 919311493 790913280 210958115 560113020 464341135 665667801 613378138 327937510 214911714 296785180 134317425 670638457 322032582 473884798 182936762 274638445 633706082 685819110 371424896 852766584 886794780 643911904 160845333 587186272 907190880 461851737 396971088 630807255 551261165 613765330 275458746 776492359 558689642 615805580 627634653 453715727 286682552 407048950 147742030 736772576 466264036 664943596 459010538 233239331 244337626 766899982 714716620 850557062 219085418 238488223 595068503 765852155 457447278 796485019 560347442 342140841 409640946 532042242 628582744 582973672 524939025 643467732 134521171 897440011 377536462 238586725 609724300 337232964 904834592 342725338 720140291 515875067 655112098 538015614 364189405 801104957 566553906 202307736 597961294 211365505 996506931 544962227 630574544 142386791 713508403 482316906 430796773 151418930 423656262 798035190 997930319 160850478 586926833 409338477 809021970 279217385 117087678 460749068 464580176 764867190 392222571 999365236 920791727 760810369 626353964 850584543 827575128 428668993 526549005 173452821 937433662 324503794 109140234 616074523 881463854 866681367 315257328 511307184 117657702 744393356 969809611 345821711 705625137 763314115 299694256 216029903 428458230 441288482 503814402 158382343 730908293 648900738 762919573 366088585 186376382 965397304 259923990 469751786 576274366 742321242 813604731 319152907 467719881 528081998 894677152 369900675 818841502 113868127 825429194 428614988 921210174 883486504 603667750 907807152 598818928 481003813 738915984 846098520 462443498 744146429 970367107 868861327 890480989 803488668 865086665 212284208 491600742 112277034 608783802 828009312 180732274 873052095 333931916 916122407 146366646 223946405 924141061 540213652 885157885 380232168 284914896 557502033 476260352 923031188 438447078 350384707 442760465 658493425 914208648 123348384 769488588 798216726 541370968 714062538 954534436 642628024 860615075 582094730 483277341 974148671 697629707 736438450 681034932 864856690 493912923 454771680 144238456 909104015 443325806 168091975 666623910 147920681 730498971 684114254 233528199 866427156 677106008 569815260 388674438 706692810 216331366 320240836 390403448 723788360 773774440 108008466 982416141 525852043 867413599 747911634 474644492 474069851 587671232 688489187 887097536 712860958 318797540 314155065 356130675 638420901 597609989 650287235 428370891 123438491 894996696 979368307 393614853 842100926 500874748 323238662 687580616 687905022 707000175 276669728 223067246 445168326 879497573 987871490 832304601 699215594 835597454 575767005 835155092 313856743 264070560 548841139 685562229 269724934 992829812 232011132 522049290 256595096 824171852 418012301 829128251 539110791 502106619 679903056 594625471 990032823 114167606 634269586 795779365 880178800 213661141 814682063 829825295 786667425 333960317 463404299 852415072 715099618 719944509 184687015 929087147 998329948 352627547 571455245 437231785 147714117 219031327 762234906 825103526 404946766 476454170 197375105 350524988 794333189 905706272 882424851 232939841 447055995 363281589 513117663 924348663 911966605 242988443 570073157 524979575 999705560 835583826 511190335 368051244 310703716 833675113 353071572 502578066 218348049 430525970 354308852 523979188 598836162 318716979 785628689 362386458 184789907 819832459 144729209 809489184 273335132 614174708 725008415 995026538 772165222 454243807 614888108 168590601 113657179 362138746 221102335 264432512 130502629 180569690 522871648 575986995 165080400 800328595 926994485 414824799 587496633 382553979 431934458 379454060 546659611 831889325 147969671 936632366 687906166 283621087 759435525 889450829 388331317 823829788 587677387 723158509 698066868 725766797 484937462 830840333 248403437 761373811 522743123 424215150 888648063 976657979 421907857 686151624 503616954 390067285 330413257 874441633 447154025 211024620 336712034 572423760 893991810 950503405 755690069 837988478 738959978 624921215 592846779 364386139 343405211 648732315 471427017 875943589 805334881 291056920 860190401 903415636 527600332 715632926 700896212 442458864 563638897 241590112 179606907 592327954 489572403 270449946 126927697 684932733 502830901 812576015 642937415 964644198 668315861 320440497 200747963 488377101 547305778 487660467 597500751 278867573 398240187 408380050 550656322 887804818 234802142 163197111 428391044 730484973 727340853 103341038 367711375 933978222 337640619 564915796 591971756 703844222 600641325 215194568 148263812 759716553 241679141 525698528 935901844 460075049 712369570 185564585 450449004 385660726 233102454 152068979 846619053 437605414 999805952 760543711 135191298 965942468 779569105 516260384 896945322 625619275 913609914 355538089 793668747 607805383 469828150 690155219 695758564 339434864 204566964 904552653 152102771 342085426 716027169 291987930 364446390 498805252 283839122 209522172 440596473 600332088 430273375 759970012 990988097 538202560 983696315 305683124 906793226 282011474 588055961 548299226 740106017 406118771 122685663 396818821 304671261 462844686 861097785 124654870 670836330 972550633 831874890 566269113 836669237 119781085 341960526 299465579 194593967 683382866 792856428 968601313 966837513 278968708 116550478 766633673 497485638 128499007 389514937 810920367 223444396 890040015 974662218 152973414 137968277 955831723 838284479 335926346 400246040 512717951 458189610 121821805 733459215 158170154 508846758 360032706 199286556 303113191 133633199 658902276 765933901 505691343 124954984 820449822 714244709 942125521 985789159 550143685 665251194 931638904 370000333 939170571 455507021 772264181 867763842 370473145 432993843 614591137 111874540 993495190 540222007 374008670 975383262 992459361 331592623 162186194 104641534 456042575 211429661 221360241 716120589 162264008 184789384 810509194 970779995 369016245 979307462 896275437 477186632 992344299 633190600 792147056 473837668 639787464 923658532 604441279 602520189 409545991 753836373 487575063 118864270 192295452 766384598 333846155 401275368 539329354 585480755 320414316 303051030 738863287 775378902 149635800 712158268 996265618 384908520 604910454 169247124 274732298 908753263 159620024 236428338 450977237 283802818 756006377 729171334 558765894 931220332 474143275 531264508 734474720 495172480 471075336 285949464 377565462 355404312 543531840 376760314 339117277 605104365 927268584 910462516 196406187 467874126 992568959 850688478 384515854 845767888 739300158 764372385 736929646 810747416 691505897 809605283 408054683 449858773 453587376 833450304 395638312 561005704 757238576 890797926 247945645 209329966 403044759 423618091 642180128 721563145 973680324 930047721 241593980 732228227 822688285 238882235 693238790 281221507 635984711 554701946 625885190 451362226 681136946 181326798 902819783 442561500 334059742 572961633 749029780 607337017 547151667 498158940 314026696 188620795 980099446 818162059 518737010 715588863 310521208 615890771 492305399 661519081 193950112 391451555 856685634 138553775 561409030 102630043 188559825 381319512 560753234 533583200 587050023 565868648 254881154 351545499 692550165 531389618 562184438 163243575 792895512 226393367 621945519 314601870 997812795 865416957 559929613 176047310 787472691 378612903 818289125 663339890 927998470 255031674 290954840 653643215 425395383 464635219 331709744 557548442 623880522 500716825 302257488 127137899 715248051 636627635 940154727 774410511 605905900 562465747 714779270 847780642 322929481 497946141 230572013 140520479 409362122 335245043 146868283 896905004 526031352 539460793 578550470 765796521 537578601 178804065 431316500 252314744 371894263 101310044 776590245 103178818 766612089 366370018 480166348 352194877 259915659 755435356 395765449 979589655 352747989 156065511 180314400 642391471 541606934 129590775 123620029 272489888 539835765 755768065 796514846 553300657 523196757 434351409 790377872 590981967 774674511 359536484 217560143 844284558 495776243 872529096 352851965 724625504 205434731 726450530 665213104 734988671 316088446 994098602 671861930 448385597 207763911 314536138 478827071 171050306 762186930 466049280 504550716 442950266 682961392 262133883 923999664 965971431 578192813 106270465 560407554 892892543 387896213 832236930 672123665 106712109 814909444 645780772 342936343 392453824 389678154 524222436 448127198 764750488 457583921 273514326 721514725 729954662 539802796 745041502 118502377 784142167 848499808 673816886 168014204 609702783 353147961 234031135 712940304 234643963 903333361 845069108 868412585 459851387 790948347 708921184 955645865 695100202 558040592 995893341 518312026 888253473 705285972 777177374 110719199 284626516 864999131 496470069 732652758 291749053 498723621 159673681 386909161 775866819 998801000 729791229 179173393 618016734 578284499 999274198 660649466 860840547 243546500 874633272 367952703 593734640 416262993 789151931 440085087 241307104 869241293 372919275 202466067 972339452 555283604 541573121 590882899 510766161 532482633 667499472 294322633 629877244 611457651 543187608 957979934 280084924 358815557 546252726 447321684 920393805 393794326 195798965 621915903 170532905 803838518 932517708 535225427 755368232 915381323 975235715 532488882 640642049 199409423 163559878 824951948 802004555 996584091 688115209 600598677 844950573 798010313 169874010 685187408 304098664 663796491 929428985 806132116 131436999 478050747 363800232 561392284 892931927 996275236 758248336 255791748 651697095 332009855 983902907 596880271 649513004 722679261 253014694 996538374 794068655 116097509 124546899 782900874 181367660 154581873 101419686 411892161 398686172 980525160 109895829 107588803 240396866 859601545 150140648 576018153 349222781 649206667 375882526 750756005 527548314 641483364 477590304 198466620 822710551 305785316 695747521 219580413 767983305 459202445 339538045 159640405 949557160 112866763 563848589 203511196 665254319 384019091 980409379 872836747 378768270 264747147 152802070 799352788 333400285 288319669 358209400 481521199 344263464 431538078 465171615 720381173 877436502 422311181 641206508 713885093 173737138 571715550 683696058 807548607 858708257 217725296 160400397 748843802 193511862 370268279 549237167 589358525 193974357 719534563 955252472 393961138 292346821 582504337 261199280 102731350 843196448 622498081 841270839 948817155 311643920 503084959 849427612 675576734 908955660 661012427 604155131 492986913 654528807 137412029 999849529 520845198 951374545 120465864 179183763 199034576 687816878 220628914 113932199 994780702 769284405 495542166 793240365 826645233 737872160 875133721 825208795 368420856 496927016 770982980 130584295 909511921 231815995 454564311 705428935 240851481 392077229 511240573 212958764 634592777 510051693 811551602 865678084 458542145 295565198 368090212 322468037 871099044 817171760 249743053 542659541 375871230 384482186 191298229 213725404 822363265 389680510 898396477 873359913 265214384 834826020 224527975 393681107 335916214 504428126 132638368 553618964 173067224 687153801 964546161 516025916 512447443 513931553 643783521 245419768 493301719 677440029 412175993 235262188 236058553 141961618 557728850 908316687 219192191 167096312 312796429 542845929 641724831 966054379 166327371 553888104 521626723 297919324 118232407 228967154 401708375 588487747 337736043 701440834 492264781 214409192 301262452 732007015 233596991 306457552 779105903 936830127 998741835 833437099 486364185 673440827 402095459 601401426 441791707 595261532 988636315 527908855 140589701 456005223 371078685 156824247 700241838 585961906 170049439 594166269 771767659 369539616 119864203 478552915 190206484 920573699 510364172 989554513 869937865 826888315 807809623 346257174 559412440 760405318 997533490 184428969 734631363 721568756 163486322 192395408 429162462 231671247 532484538 447082775 497690077 701574592 284258532 432139522 454832223 615368693 170523233 847377368 517312756 378615227 745582293 824314998 959063012 119360719 711591465 224300214 488898112 304058132 680340480 581572746 747977377 515628996 853564565 892440362 869982657 217911465 894677114 206430409 465619811 420995094 246092439 816627266 342757028 873219164 983247303 342152177 289683383 481665431 698707481 732810291 190556650 817292358 433618467 340439860 427831901 378957922 945501118 192994138 907925484 648826808 730445631 569838733 281401376 447786397 697528743 263405585 745363372 918379796 696461902 396369013 116330880 824335614 994117978 833836089 889526957 921956155 747856675 305207969 124739461 554459840 584778149 528365756 593136553 217470745 658587426 140998772 547312169 555232211 642703841 933482969 552837176 585165344 281261540 343099833 803058843 913827742 921367503 868208354 896428108 173491532 998222113 162566931 836897839 584867888 619328029 695704010 321756384 536267899 303178914 371951719 117677917 940096587 996337201 107544162 784366450 403870303 948336207 896505342 514943090 279232370 384205295 745149084 800683303 450072220 456433368 571779586 608010228 784483344 486105888 671428479 938064806 458567007 973083238 109672764 857897791 322663822 521011653 198600409 818787221 313826383 221971163 589081222 973256201 740070134 321878651 424767374 150708994 461191915 486393180 807128177 142734167 432720980 922615560 420417156 323975828 174749338 208645373 951055024 610575250 247733661 205780191 801228872 256764720 386368548 293657158 958213715 152099231 285100681 145933983 408625242 566659805 798213260 959910179 319161718 565253922 653781290 569621827 162968909 632383582 328595010 508111700 238072468 790467926 141334514 449110139 519905653 538345352 563974118 315784646 886657473 947780975 778727300 883191781 219566467 874195706 496208683 945674332 229734854 614695468 163717564 580744551 818643288 742213943 726960734 470419725 395616442 504355302 355977827 739709443 660801424 893187644 435836384 743829667 146196222 663521351 164764488 839076747 208616745 649147724 302089575 125295879 441012970 660131795 183584788 448889806 690499836 964009488 909982618 605758305 675483824 824762137 752411160 767745320 652766013 723753055 476058805 435618832 996321497 511620990 477002510 741270338 616412414 949859240 360517963 139073646 696463566 327040922 398503081 955929291 256600752 938179939 369606242 435695858 407775091 117466543 730534817 277897262 253154622 388250564 352719862 870604919 640172082 139763015 590281500 132500542 889259920 357768897 844849130 191663503 918000995 843731156 406222984 837874623 167356468 122493750 476668725 977515545 239713790 668086197 403182879 391649887 766283187 184773808 916618304 888977130 843970304 886631198 404609155 220207665 834599301 259153076 198102409 294423094 934097242 584548775 705455817 452409051 200706267 838583735 941897001 827874701 395565218 196725617 199821034 616126054 639737417 318163197 969353107 570953042 252698808 895532438 319419778 664467070 805326310 807943716 713908242 574531523 750389228 204209758 239505122 922516390 524711975 115085145 528551798 961928519 444576391 449415601 920327651 396657729 316444854 972320543 102181806 272544611 645483775 579295836 794637287 728462159 170759927 180983534 944094327 758682113 450454422 308349975 772438077 658195250 449780529 193616054 185275581 783669830 267677306 457338860 207581524 361471863 196843360 742012023 499775052 630467733 488663825 785616550 208200644 344017821 343329136 664332402 401962701 127742496 389807062 788983809 833813112 415527017 827226514 993908584 800772231 427224823 842162133 842425235 874470275 151311733 353000643 520952629 236133017 331298473 184644126 434406452 381567976 441723263 736940313 701391520 374485650 664928856 420754212 670846236 145822879 832137582 275465240 807610018 822089169 181487053 626604335 634698087 906624597 800600520 487001740 833480628 575620543 217910530 829148520 361725446 882086936 780356653 783038299 993410246 275043506 810089791 225014904 298456018 192363739 932625027 414984782 292347726 458609942 742358516 149622475 271900912 167276151 765999413 631267766 963975846 436976917 640972871 928095384 153246400 164408429 795293635 853679075 638252124 667452660 285762287 134857274 139622397 555957135 162774728 463640171 558130035 224840583 178831102 784456158 190213199 218709728 195854053 884647336 821030671 826943549 118271381 839414864 503129598 138220533 294753733 655411576 714884958 345245014 189310942 495541591 638086940 425094853 190048021 418640495 606220274 420369457 710486736 888853519 170160550 230621424 591714004 932874328 148963833 649924398 307632641 643693294 139096650 543363329 227873162 176059495 341456639 163564764 374982085 336781674 302612889 629609716 474056011 751680611 440340990 224665379 718405718 624803673 598400842 959763019 702946976 366384155 619811089 944503482 458913314 312981356 365304641 537022466 602682085 561342539 725268100 696951542 562446468 819808686 180239729 357142299 609957323 960964538 775643819 920441729 258921060 825371395 240314438 993038630 695982242 480990040 167319317 520537396 285668182 838823700 688669198 986282799 113553202 437786551 802980234 186006321 825077339 160423216 761202529 667971521 220672818 726730506 817307977 447267195 697946470 871294691 981325713 648471818 516630706 507883182 255655175 301283471 782846359 910700903 775231995 977474979 616863251 177934389 863054892 377375221 864745553 923613340 683292559 483311880 564424525 282725415 842788402 143486316 411964324 796475298 235536185 594543309 893073464 485002276 316104536 542047934 631954419 688887161 677462119 972127364 898266850 965493870 834394911 371676728 679360680 305671582 342215484 301575002 294610562 491925371 641624359 483844755 394823967 503474718 602238301 236741834 899634969 599281409 387866894 874427451 789068873 553431268 662631740 702826147 442649808 938061029 521216521 404188225 366614866 421475533 443759208 351125371 603421280 882542061 293525448 283270717 679162204 304171552 648276665 994752826 201003684 416083624 438959797 208757418 948833985 639758847 233332190 185892314 798110743 110421490 952239842 638414625 598576301 567166399 340903320 964196703 312420117 943303804 934517230 254104052 618629895 562729357 505390155 874658790 983940198 659400236 548128111 173399647 537818688 897990591 702423386 853671863 221032503 531829856 930321974 629329612 906813758 140112894 598239479 721010449 900085053 874107420 359909888 812792241 690036184 519677653 208427653 419742192 728356265 135539017 511008118 392460805 790833149 630888279 998579602 851041063 386647952 588933762 159203926 998229839 487230737 477209926 134100926 179007691 658250499 974684433 473915269 543492848 328321514 710841161 924357326 305127218 419477524 333989864 550958608 210753358 167631374 654334428 720787061 573043659 691552910 621415633 896410168 133075880 116796485 501508672 792630614 634358032 466242951 786727496 250777408 795152426 693427875 831946976 415615870 283092272 258078121 114060046 277961796 679224926 466886119 966080297 869708495 757184954 672726696 510588620 820373245 715549731 796933481 368019495 554577788 386941778 638174113 541629774 923720750 666995638 856741822 281772022 605169961 646866272 253722956 948252333 882861920 549679538 134819378 668292156 329801457 325573752 723670319 253187195 688130796 494040141 249453125 804220753 299140250 708773280 328776090 759297622 911704025 295925934 160335955 620521315 504657599 182178562 286355568 970458666 305061729 234556606 537940805 744855577 735066213 894654357 240564633 852725711 356497189 342289982 774639582 799162475 526190523 430300379 653968643 298492043 782530818 343609892 576840270 197300558 923490459 407459504 437080984 686002475 494672669 510061084 647508882 617435279 309408960 856671697 858068249 957387524 364291014 910042165 577791051 750737665 533483708 641293496 328220574 768327057 184059651 474614862 813308940 786227614 830145081 934975362 581600963 209821547 874586647 350230911 189188464 703858302 418049004 976179580 308616451 855484610 705326646 601598376 561608041 861818543 640953078 613526765 712125071 702583016 769561218 282983438 157067091 774709911 601122802 678930659 854085045 513418935 633458563 395049362 155020886 879610710 334707110 659193598 205174636 561335291 509234039 554069558 612260057 175802710 466030365 839077024 360983111 484907130 774046826 394347102 912861054 638571176 248265722 362558432 700547265 715619126 759695944 371909168 117106835 953418160 799607558 599184696 827849103 788926885 222407330 521008724 727528971 529546123 640273792 148238105 728279287 613485468 297993749 477700401 235233430 378576531 157630426 863418065 113687580 566214024 304860335 672388340 453016469 694430507 457429249 725794155 315089778 649064933 800010633 575100956 907073252 946702294 718457686 872403519 815625283 785680675 170406849 148993005 922843939 228081068 408941147 634980967 897261573 290109906 915892503 722716957 160831413 833703971 779619161 969606199 217800682 732074787 601070532 639099121 272061260 666920421 696196981 878530801 536296742 705680824 227339784 176456414 663665017 562303763 314017464 584057492 337520946 497766375 798875268 363745792 161489515 833453828 983599544 429799870 879763405 564783943 646253040 804001957 244810434 625058999 568654173 854069574 133385262 406201695 828745499 719766632 845113015 113946560 956261754 315302921 157895192 513470504 923234120 352529423 442930669 855312046 129930738 779870722 109500447 683747506 105540354 727739224 620479053 545921278 818216852 391341911 106326862 583279887 752800945 551442847 324755542 683952659 348168608 291488315 428132423 440999531 804741373 679901825 743032995 196248685 899169357 748300016 579665014 331674653 660190363 718727010 201880622 385446115 393807323 722794176 983221003 695940958 180116275 246518224 366549331 912831988 569115393 750942860 176473647 526235253 570951627 508901048 521586076 114429136 313881796 158507641 664505349 131029880 584528657 771668099 932023103 564356517 759297648 589635494 874472012 394900448 419039713 172304802 483006083 125363762 681091019 487737823 920468789 980796747 644946904 601623180 135290015 153955113 194510454 467566605 719714588 550263154 306704707 431997805 200126336 257495994 955516982 302216124 970457489 344901916 814260356 109932387 193578120 572817744 175005592 433840082 648563925 132212492 527390403 880127628 288957000 674228074 567956163 304171860 296940129 225550254 988158408 544229060 108568772 993717889 219897456 472704655 192289915 316871476 697662693 942237959 652758610 282194868 681093731 904192528 870767685 534053387 875958935 483015986 467897156 822208891 861720899 580464518 142729387 534569152 117726733 754560865 690268304 701595113 951361171 574919330 826278450 856700619 271351787 610215450 956054085 864125490 838793033 867954939 372304667 677764586 279351424 575849122 273612060 132455375 747608017 498584934 713943884 635548212 345720230 560565911 867977454 150854801 198144080 864621854 935233298 253710593 852332896 661389318 503169202 183488918 722103346 459844744 754139443 326619876 754169949 269237529 149870175 549718971 450104640 682741236 499108308 470811732 749791563 250725383 305362786 357701245 693389195 734955018 932274617 668890698 657928176 429496704 552495851 906686363 633838822 710235293 627051929 853770757 310008865 112807539 548085397 368797707 355823870 658592014 841993785 594932372 979204378 639446706 837141800 372642487 644976073 350558589 217654160 234818774 830714268 314163414 985881479 458124843 499048395 462330766 769835768 512457031 680934523 806867067 180613155 452201377 343238936 841552724 760732150 928716837 343568162 514397818 114628450 992840352 267788510 463251094 171607121 553107379 192255738 336112700 269298405 990405492 661632884 912812835 884928255 769818730 454641199 932215201 387345741 414567060 641168895 493153826 944919752 284762469 976967094 801810934 650729709 142834898 960026289 691826413 473052595 905490903 687510308 111301598 208131224 698019309 791548989 759325391 312918935 260893531 773360653 622820323 279723692 199878233 974882923 942738077 680559696 265838561 688116725 363790256 483744824 225583159 745467278 345867991 818752837 823270529 515792978 448195539 472765571 672630665 884219361 637712892 448008786 723565395 589529309 520071909 644806065 181512996 207357602 920284095 586736333 330200884 377632027 196523080 209229622 409441523 888191565 598083410 400905906 682118006 968011937 984932535 295473541 176902725 166096253 117030609 147786843 156320985 864895097 361492352 614226983 368158454 693665825 733941918 848517741 987586106 542623432 756193845 173144129 566704702 788631484 804223112 234137436 444535859 470869646 303062102 349480590 503546281 447242733 497358326 256843060 577078913 162740337 119484999 705262730 793244230 505056748 631211973 409023456 804824412 694173048 704385910 578344989 925223166 807316629 575956385 890736479 753961232 300679834 378380097 647740180 616749062 594312531 968198830 253929569 691630999 377434056 682684304 862708493 527583747 830013276 208950960 243414011 515085307 682195759 234273353 788024445 408878059 425626618 510074864 239962302 773217953 685524274 682803359 876508001 845421525 567348034 531504808 724613832 732728380 871048895 102096380 629735352 630061447 616534234 505222779 589528465 890667140 656567728 494900504 419377959 306701761 272400246 614553562 453919417 918444918 856820689 386492748 836919897 244676676 907450596 293934428 353787796 393322885 177878635 380878142 556700067 653546062 744975576 818828245 798492926 420640556 814681330 824551849 972286755 349954800 228413451 919813628 897061585 320319351 543612206 841495067 871681825 352806657 292798022 508795048 574002973 153689003 333172293 373901911 372203454 416661124 650629820 172854239 472705116 901781662 229861179 793832517 321776211 991402967 721849861 187000477 748203879 968153610 119674749 348639338 660967132 139271956 909585559 360308541 718252274 498584388 553116839 460738872 370726122 946149729 838205815 812644164 239080691 681196203 677051225 687591963 582083940 283581174 463762550 925681984 112581387 325801158 767104908 919503601 833840218 836418626 552854338 675186666 412065437 183419033 800208214 666040100 902266328 400437296 769558912 660765595 605883725 592275178 972383866 872153813 704347705 181487727 686395756 661397226 678126481 780254126 938799335 429706099 524158239 808166595 700230798 234046551 595701946 418327196 240329730 321871028 718524907 131135333 845877086 535622870 281994189 385375845 270914518 803672562 874505254 894657208 257425633 443805123 504093528 155384057 182806612 827664954 577867721 322128107 656342564 734005137 447040951 116535849 681664080 457246062 704256066 841937117 728765232 164831361 314078120 824760023 905606001 512866984 188397697 372724642 483243842 973470110 796751352 173617492 881869435 926999953 353943992 177895594 249538226 186849950 641640529 500970609 465381370 888185298 891444671 980215409 314598607 202656188 892540394 647756907 706385673 463737130 509693854 820956428 475590246 424083725 660056136 155358641 608323244 132581376 216218897 166543546 221970026 199263902 493500877 112029378 585553602 194543630 681520137 580538903 454913883 695596212 591242818 380612289 448034852 461948004 782046109 114967820 167970420 413677349 834050799 358577848 848916351 338958442 439649162 951368366 289130429 563548649 248537510 164776230 537563918 966372889 871167203 906308653 260138749 847811768 275066969 367733294 385836828 896868561 843313108 817759193 717282995 444641146 286905067 322543210 106929084 121380268 729141223 580389628 339248626 773548585 427946249 881009952 829067994 931580223 112048459 990878522 216658358 253129641 908806179 528294621 408869585 642450473 700960850 745881841 931017061 369424532 811093044 919539080 292120051 946774500 463172269 719955141 375925312 395145230 409245790 852990453 844711359 169398221 261371519 963043208 738927890 203814878 806426744 190957476 820690171 642643163 606761472 540049370 405854048 512236655 142426748 522562277 148084689 425400246 954187544 952701497 594946902 663562556 854146432 353773377 883068359 859368866 216553475 620706087 705701935 804061165 216720244 345203987 812775673 707810451 206434706 493329958 773510774 744199530 185149608 270087604 632891700 837796503 889865284 149771138 736086310 147843663 163918811 703730131 321794789 697466303 748430552 490836150 838144661 852214403 386997446 640256851 518113602 501547359 139824707 656468405 858486868 290221730 912019413 353513432 516300252 187689056 168285368 277880185 521534173 515580741 142441054 373279500 127890744 195034138 332500861 443578921 882365554 458195883 901294545 884736242 276602191 322984422 780953822 273589980 116543229 167799788 295707897 472701086 584886730 160422026 144828850 714716767 310609404 548673547 159297848 191451163 601584802 788287478 194871488 649893148 473970780 492182427 959501523 747101241 972389530 653785684 391322679 412303607 714051209 678654568 741316851 194037037 715684289 920800026 333359087 453966849 824323251 972668359 764959055 165166042 602234374 564561854 135599720 595235576 900356045 339550788 114141139 108448422 325033335 737143236 119280434 688806496 914938821 666828996 290654888 194182388 278686619 442449689 546283524 553864811 149941673 294743427 702218384 821493156 922145343 120537822 834876268 668313453 871504236 483855616 898435390 380113342 478066002 971349108 489974075 557434508 820779309 885032620 965607895 805188237 875792457 664181620 596453507 718685214 407469968 889010268 865570331 892040314 733543119 464714505 467188545 152374780 247265710 392998690 164587794 870543454 816269707 991582120 820523633 640778419 218349912 153799927 652934310 182224371 324813604 838619070 417771870 358477252 438648217 841916231 118525142 647908174 599367746 104818945 267217278 247994459 831956553 119344596 537479345 103196051 187765303 854632737 615048542 943543756 506373254 578698829 116924368 594374834 478424720 943160953 752612008 374250684 175844698 851283970 838923840 640841135 246748867 676814853 744686461 123382911 337933591 173338673 475864050 427845085 369486061 952863682 350806826 640923605 818039577 281916198 957856383 409924468 391306084 725335461 468300293 632942492 413983538 103030986 195486615 507008857 353609163 465769489 300937135 265987073 907148283 552289214 781063086 307844832 372819176 662413335 822892284 777772632 105907248 708252616 815930556 515172785 442357073 718253269 152711550 381596388 966378414 821115954 846668056 223544390 594016129 791909570 771831894 652445262 189761587 247493090 620884563 236149086 624755294 123843771 106923231 956010822 487361529 527073151 874945436 604172859 964544518 728440281 925726717 795085653 174249631 211147328 376741935 498665358 911059751 908671602 328482055 408863942 865468123 131470210 641917668 845158047 791259630 475543856 596952153 175837350 659413195 252262844 635273318 212557471 237058736 144856183 614591324 265148173 930970335 970559209 573985123 120205907 938438660 264799000 842750736 381653877 256301808 872169584 202572289 333776407 512131840 126444452 745455865 686750210 235818178 352088243 325326277 983903545 780097282 815991531 884557500 757782254 573343356 396670199 833086921 965917882 960389377 842634336 455659374 279104761 819037594 694518742 844581042 633306939 714517129 744363834 151644917 361524564 697135451 632653333 982585842 867231669 507874409 551636847 868695989 295153155 650699429 242234319 250920659 728485961 666497116 796196542 387725054 216855231 534007977 147769230 654040606 928207552 345818356 470401843 752969386 594289432 402209744 437758060 904156117 110486479 256194201 711718868 770630745 612687709 308050325 936082001 226475612 705211661 418553754 630507095 264557696 172649463 424514135 743201221 333484566 413101883 261851204 279193409 819463359 186953612 464173161 695444184 505001790 535319552 625635611 470463318 849778833 601064898 817493916 822245733 430677341 256963571 428130061 854241024 136879215 992609300 216294861 877678636 380211364 940698814 490334064 844985936 801697779 924671554 906001700 284904293 964426244 213030980 864574056 859897931 543775800 559996617 374223810 980401620 566887899 758352298 147368343 534179214 680613843 688484167 166827167 495496715 656027514 631274168 453127275 310520714 997337084 963190724 430109304 721619147 848175211 140687887 128582387 142217962 717134171 359001385 929378900 830279156 783130711 541582515 457445047 782979254 824613896 294319469 258717806 151031307 457247923 453702375 783137748 923033950 224621096 211716835 601656533 857983305 220093419 279460190 681622762 812074407 866655234 236083457 235840999 705677478 824456581 706384384 405059388 324243663 426871738 736110498 825021424 275739971 385040056 347965109 659736803 834562850 321147703 431383962 369076725 325901106 733330091 130785567 187638470 927408207 129125778 899440546 446874688 817962365 840176576 412948113 272267913 383978056 733839285 743014908 574156028 606864569 407200605 982546643 284989053 590261290 942361039 257458076 731068662 208297602 288421897 916610943 829141442 719436644 873948921 477484493 226063866 120349540 963526282 471107702 585086305 653521153 138923007 462354671 614870027 369662262 950332697 570279250 785381543 236557353 952751899 828775166 607684476 766276424 272919265 411925316 445417926 709309412 785430596 533207313 478492818 808395568 887394662 252979247 681047674 482977685 116561973 358764073 315360316 898887833 559909720 144832869 376421672 486509213 353584842 724255419 811986513 165109575 463372040 128737398 669765280 794360675 317741402 902515082 691473124 952355390 901354087 244156573 871362331 479151435 207400678 236397576 305458210 158181002 715941519 911596861 369887328 122484164 358555769 427357680 918594425 474727579 602007330 956220370 933568218 446346321 199391066 154887331 266568811 460595256 421466848 542395480 370151576 167269610 873171873 543176118 508433617 510175536 843928856 656873969 540041712 380406715 518010636 721536246 327641655 651651524 224619312 324877903 292865429 434615027 301778094 809474191 401606968 263285846 928250028 967503826 521008187 720277540 716483050 376680573 581542252 584194860 397310305 119240459 844941580 701980426 348718023 643001198 725046427 461556912 119519130 674694499 107686674 529576640 658789405 149201368 502192629 281692287 986036722 828032985 879515402 296176343 600898847 634747061 523348940 828631245 662876428 925023032 832303538 242799793 945488391 912351156 567840067 825672353 108292446 461974503 954348042 812780864 604573144 733921119 143109706 747694197 350430510 363964371 131378968 400224981 321091703 656262632 347277666 743189286 427371874 249206605 548510763 472025481 974981129 117267025 857895773 443224288 409284499 448977165 189539635 177319509 111221460 870205343 519868702 829191319 176948563 534248754 237422622 386534671 383743476 850846838 472919059 929719850 862375128 787422912 641963957 139250477 705196139 382385377 918483624 251088395 404451705 468412758 770432761 426779962 307659400 806266164 644432524 173422582 539705455 265315575 400426089 358526705 988351485 967778889 362930117 980087420 781943461 830180841 322607824 464234379 828639288 869645827 612081299 801862745 174706650 840412561 201092133 741470766 234411755 214262305 317094106 505525190 568772294 743350191 983916129 673908522 372982978 533823009 216579003 795129367 579315718 280043475 628270428 243407482 597546189 733065291 987976538 511574660 286367388 102183717 973841817 695586681 567495145 996423625 238475656 341612173 549243963 692722848 477262941 978714901 259919417 903631466 344361044 365692673 255950113 571092522 433657446 294750869 334391635 721732129 943135264 546724760 766817623 681642705 377373830 262580469 735462031 825400519 209824403 829878155 113534439 369264945 144126551 659723816 106424179 568647216 906166510 503471874 496430017 451964780 661778890 182194502 987321455 573524482 285820129 609588989 394905398 981329561 139166178 223286594 822986518 473400544 800422910 772156042 824556323 401005533 638190660 525566044 269685282 992876781 810871470 810847551 727983251 803768135 435151323 288766978 250440590 833258101 309271406 661813137 216745119 841469511 228865527 165361018 608924781 410295271 841125088 935326887 454150368 210401043 804200798 142646412 334504904 441558713 716483916 836361747 745888057 596855938 938598300 971297045 156755486 423872399 223748068 969657933 696526682 804371205 890019489 412598165 259459217 268275906 952261367 377087608 146401220 329913653 824183822 673702932 796264138 616365208 709089349 669351785 238152655 872128921 469174509 777668299 673088392 536080794 469788029 952814926 780422609 499382722 750374405 864148311 312292400 533558767 652525691 368314390 978968525 503407559 336249377 455259199 263459609 800070059 128999077 932445126 892242596 569682522 652391866 403772869 308324737 829039407 123378744 312795707 799497640 196173238 390744528 365419461 165733462 685460369 364076733 549346383 328325645 575081063 807416480 540517746 580549094 309571786 502663478 857811699 766267835 491815442 796675616 746772805 442546076 330023538 266251642 776362369 436630079 568757968 870340571 135509002 254595485 252672153 258886582 606956505 244591057 569394411 685354940 495047706 585479945 377581473 192944760 336775339 632971569 568107443 489810106 903752791 929774494 638054258 476227532 261578407 280594827 103529140 378570148 802542149 509914656 943640494 140335421 554954221 622418921 148486213 442859722 705142055 190848522 203849295 980945074 928122140 753132235 787029035 508000254 224423511 794577933 445254790 861979281 345639480 654666127 361989847 388168620 164873056 514732927 684628344 386766714 432806702 812669481 271871782 895811534 160684858 884602265 700778477 357481753 301897652 969432967 299918677 375865946 371642595 613313916 613329987 766072297 126738676 173401881 912980436 826036578 485865500 217277102 702682217 911078897 897203296 305938619 637283371 403525700 892130356 491094433 738290601 983148822 496387643 366008741 448449254 314989777 855673618 791076312 838575654 774688787 593251592 586983743 317142496 943055584 344261604 191589524 792939298 402336445 425687883 828538559 308585457 164949773 500127491 245386983 143436152 194330304 945947084 949324982 499154535 180375725 638634063 951588199 626787677 666437228 373290259 599746734 150580657 458547863 834713628 578480794 738420856 154951083 248172470 103541403 912633445 950456085 609442335 437203252 726241995 960501930 998236986 743225282 882013870 915162025 619254287 164946175 262929003 208984026 493214635 146178730 950583905 297980848 234451008 740420312 147037233 747431503 341147719 457711780 720525952 511727980 904218811 414466962 222645526 686532066 855117227 805941882 186541652 285205946 700623402 890879132 959872455 865300443 936424801 508878587 151537877 317335432 818913366 981564050 664179703 368674339 737112629 102979268 829190095 870460583 602264061 801393970 737442835 780166702 233777654 663197706 264430387 623434865 415266782 611750318 296734492 704444556 252777414 880325814 884683881 200586345 966614863 331333818 534919004 307664459 947662421 774657293 841849932 547046897 719917283 815691157 450436357 979690235 463649804 857273145 626552500 632339931 775084455 328381915 973812141 608662332 447134772 100745642 718486214 350411837 545276582 124318966 932821141 880729522 267073862 573854212 368654962 170282672 295281210 967225983 160401196 211791314 557245238 236712036 926752510 743906192 425921788 922102499 103778377 734775076 347789160 465868049 597216724 546703542 144007986 904206959 792070935 261639874 177612947 150073931 863816635 478961213 415239292 574716845 887460883 179209365 951856545 826308203 461000141 624192146 547414725 798280741 861331667 781026271 842460790 803204765 754945938 615635447 672068003 358103026 575460932 670369793 524805702 197386175 793841672 630700736 482162610 285140810 323716766 468249774 992696810 986887691 768676532 123377066 156746534 380098925 175088347 686055766 799533138 561274716 521561782 422466778 516849983 668080442 135515887 281604120 782872332 509924379 926467246 875673247 578926358 677021649 374931889 892986473 154208316 996397736 128909752 173415676 509940441 734025668 964276242 121766983 123520574 722944502 480827903 905125783 356662823 589651920 584588286 552997646 179391205 479762747 426678115 728451312 126353733 386030497 409401252 308735143 183535539 728743868 471182752 834112215 665560402 893662214 964859590 482194822 420468039 115931219 954065281 230350416 309606169 684193315 464944184 764772297 442553184 449126491 873570737 178720557 471826123 831506557 714769285 415445921 350981274 520743905 354492294 975038455 507144006 396074021 989395233 581138354 227183443 571169682 225953151 425587092 513464106 775519320 208685554 304552660 150819839 661404014 422273572 527300013 363364666 408264563 376226791 883770383 666948789 976331744 417638209 518689174 747830426 635087588 252629226 327115946 247805457 432736477 533605486 150426743 862206060 876149136 147982770 592056778 632422184 637886265 100782496 242474846 829647978 155901363 848553279 918970067 880035685 628991097 878327828 563797926 549839416 527434796 762466138 931224095 271111449 867655243 972970838 329147816 771233464 667933213 674226786 868158903 285218928 741280044 313914547 993469478 534920336 548789305 314579870 505315217 274794472 454125699 640059426 494181557 912954056 215430333 750582755 541792683 529345062 741768435 667128335 258078525 385171979 646901170 754822520 510134526 275396386 243979264 776436031 771856242 290716968 305717152 983510945 924352393 960042394 889497568 386648254 583739059 750346221 134039074 619011639 111018832 848904994 657195712 324384007 224041838 698491086 128115627 264569781 850963303 535252855 302453563 604130573 271002723 157107071 395793309 204481239 326620962 697356960 332876457 554181971 723463661 316966443 887297548 311191634 616088898 912343465 609078193 797090665 792684612 800472652 500764965 941655320 702583149 775588298 102756134 177929064 588010333 478206240 372323864 325822848 751930899 216016757 191942342 648600741 516994081 899841087 829272908 231804795 293151877 462156142 428833801 925657852 139241755 629836366 189744310 105897190 463670800 470792403 525582939 377337789 942674343 171983137 171145485 997628887 222716613 801541349 827532767 760927836 133954482 613921493 540044349 431961420 363161280 167891216 192956354 534627914 754215381 405598654 303720811 941933022 486185029 466256604 909581754 596563155 562658503 486815480 786142535 235422682 558184529 792311806 782509101 724994551 869044308 525647939 348675218 939262024 166916195 750305907 150588562 464691694 314848752 638977056 222623280 533861672 112314429 239015241 195990047 285090131 207094674 110749144 149366603 804957257 964845977 766121956 926963350 331845911 168154633 699923684 161707248 387127056 157718071 419875448 203956595 364925154 165145712 394619067 131617180 911568365 798328480 654851840 923217554 197862536 675001472 800638281 336329902 238820886 470979176 375257197 919028494 675517837 154977327 504628703 885809419 763733260 368901910 618600025 798027748 743269869 387394963 193024508 180449678 970007189 736579756 894239912 852818251 230704555 995169651 839861476 311913722 343547980 271824990 509385228 174030521 609348567 545872739 670701451 643014900 953454287 818653439 497555933 435626215 950060810 784920381 324619109 112500168 519913811 367287018 285171117 509140720 475931490 528782680 851180781 897085020 614269307 202893781 359792324 251183634 778319942 146604807 257687753 540966827 321412782 448513880 693767623 115034438 145483498 485382862 703824528 498462406 952733538 318189453 862514299 435712339 414821630 788032331 849422795 542015504 902979855 663486707 609561105 991908017 309023887 429323105 169481077 506599731 464540185 200801113 727057965 895513158 943938556 835651801 882484549 660746115 198539938 731782038 823700132 901090031 801678690 164014249 985640104 351016209 247320896 130549997 272314210 644330243 618144756 109612463 726715635 777819605 729907004 784674040 713404167 666444456 967966252 817530996 600439162 384875645 276307212 814159446 827018357 220058089 183598440 500391443 705138402 861360457 910161503 813205586 253908773 509625120 137319823 454895833 295015785 568598364 598350975 626308307 423665362 196814594 326097338 546216867 792034405 526204746 392049324 904569770 301020273 256079063 928997942 765643714 657830831 884377376 266867066 294356534 798433018 469395304 704610165 155423110 663319067 920374660 453847817 434204415 387241169 189577875 796773902 150926933 570019789 788488210 790523841 155459319 137878553 318372401 820234119 497377158 993675052 227511518 498881981 136885250 384171114 701907807 672395310 976212170 583121126 958852573 583148923 274424971 848293327 380875066 618067505 542770477 702544699 598364561 760005828 102482677 972370302 640383929 429767527 662648905 457361393 679642004 254297169 855743614 371830925 824872485 424607885 129338894 234842337 103370426 883912803 363941410 894148483 699253584 904541599 826204795 704733029 257916266 906066704 315085001 232254839 549745388 127609812 990072699 810279658 983992659 194871002 396699499 102099546 903182135 216600875 557401202 241126718 467236336 751799272 309738212 195334518 211666214 155108637 707752532 457083882 341801998 816227818 251068224 411590341 685808237 367329285 796936643 777310282 168329147 726129508 964225731 200297791 840692998 504341723 959866129 202988957 710142930 680229669 966608787 218377340 422325883 486624624 674668828 104662285 830665618 826086163 188481542 473385155 358683469 312724989 552548974 608429078 390955318 742080670 634513130 715045358 219978220 347033213 630616466 566975353 598588549 450548375 665341292 617493150 610705175 528776622 284513310 562891102 638531892 394033252 147069131 926526061 279228215 221743697 418320006 631769565 265315304 798322556 558065600 340875973 961515886 962353346 976389475 807795362 537972877 555350767 989343556 416924741 919425766 189948206 363783991 732854776 181424958 782676871 550339668 851925638 246223156 639013415 763256258 270755802 726619412 362302041 889205587 242519210 407753026 346177835 423904741 409299098 148362284 764334159 177617128 780539830 637615883 597764414 466705583 378624399 771806611 998798961 848754153 416750086 582807569 493786388 426818326 929713431 535884484 184926537 935957208 455502887 675112831 567198401 644718012 606701615 979645823 905760037 780178517 418378787 567595622 340856492 606701166 200803817 452876037 147597364 601583310 651919568 131490141 652188028 745482438 884671503 964737784 181444093 656422305 597192947 390332477 555888728 150310328 355453482 587301174 289229456 123179546 394939275 251490205 695489257 848016397 334046982 867941883 697712316 211575187 345360644 685663190 873889962 535249377 377051229 454706417 436502099 526560134 803436313 547963523 983482550 553576902 507356796 608028626 999600116 202537500 436988942 781308861 201852180 429269990 318070811 215384420 507625759 857601444 387575475 430184944 969631566 663118225 705589474 115397408 768040531 230200591 679701263 739493338 114138547 191741389 616841131 802016671 210177126 681611310 117283592 974050073 520674885 641146003 777347652 980344944 839880738 232342364 937622480 775658865 817817373 524438669 295497559 109492305 681507961 699754514 187794149 635542495 675879362 270373655 108675055 957858631 118341421 734010262 630256093 408350583 379159504 292850203 841724773 353193191 121496164 622292371 514085240 233971789 338338242 677954339 603062670 757795327 935537565 561582307 230382425 508826427 715527265 301360359 678220739 343085100 264667247 184740827 655413430 303790018 323549677 740521005 710635927 399821185 528776328 437173506 890104761 194251540 608065644 426158771 354429221 215733397 934969451 350062775 674904160 598586521 924088704 921293999 981297554 356741312 932611773 783943487 685670513 349361880 799915865 173856955 228675889 674741884 925619410 131242924 711457474 223920451 366888070 227056709 860843616 642559153 767351269 464903150 645145966 470306886 461800212 291846130 572473457 941516134 801164353 372283608 318835333 786903683 685437422 665827398 548237603 182618369 592015515 170578605 815750535 829622998 388423605 907144325 249478124 436509613 545821314 945825054 233714335 232386373 445782107 751491404 789228413 741643782 625760140 585944829 546313763 809156946 421984765 779826939 451045717 899438603 646924865 935902083 325740811 730567167 114255346 770042983 940859577 212281500 751476614 141867021 949930856 312206776 142908214 236071970 170357012 337674256 821547948 237702122 175276707 342394127 342129618 979895535 435496858 289329252 917873155 373657682 383769224 696012636 965204781 747115454 217345828 142347258 753721859 271525388 974307291 703289120 637018432 145256661 326987623 978504074 382952326 591377852 818385329 116720838 339736069 783309796 856998694 284131837 779584700 805188297 642247153 221820679 386803119 104225790 247202290 602617052 214853801 239329362 425744485 704009445 532764343 827915840 959436144 365025497 865625738 331034836 759398995 524491462 557938969 337077906 992684405 641432284 211235887 399515781 554400714 294002447 727305504 610638029 832582981 875547473 139568968 733466468 498760113 957109958 751319089 864990818 505930471 453036462 489291061 495158087 497739692 961505107 414310940 998166215 352796651 800118243 346799611 271195146 629289519 259269638 734823236 662881537 891711641 195592507 168238925 110188921 797602194 943173885 657356391 189362435 313690380 258054019 356048542 544982162 233419161 505200440 116020618 156261300 298205738 237986791 158103596 210453006 995854100 793684522 543202591 918202892 285230601 322239747 583236690 828498401 559998536 323137211 503551887 932055595 570051546 585537071 862750810 919219027 923742015 183583276 228121556 657462675 859757253 362121671 354833940 589425785 719750865 858524563 212145834 827379109 485867945 505457719 653836360 140867186 460501415 105027615 917639784 241495736 445812963 728073814 806881230 238728524 197206942 947963207 476069293 865575859 182892928 303889253 267295013 422714461 707214449 836182121 619566004 512892863 641179934 603726960 250619485 420492630 410936933 964085032 227994026 412781529 157574013 604891291 565187098 312937499 461446007 890645941 513508420 419705765 799020079 841207829 977683976 604494344 296467668 140596595 494333950 752729864 200124863 605885994 429774142 163317377 346161121 914394388 367937142 302450709 871294088 902396293 670992033 909548769 347563311 112792047 309906677 513928976 808514055 929655417 316090186 118016588 946382136 366422609 288135437 937409773 617869431 708156837 231684104 429964246 543787437 594447432 258853469 564932472 384164183 684914374 903719315 704466470 124636572 674948392 928068911 191493928 278785304 294064389 665089691 521942169 652701727 891113553 512624902 552014567 947721610 569906717 166707699 557654153 521663688 931923161 205852188 309370703 620442645 705475770 784398055 781742514 931892254 279609629 158297170 766983964 824542340 846343756 601721394 320458627 775320233 942494957 548757729 205514142 680279522 126986133 888075115 129565513 517626587 467757431 559183080 503771742 153729293 596151415 268452767 961212559 198128891 348584386 605318552 126530251 512364452 966805492 390967735 177483882 690525189 454791496 842976046 128230586 763404958 595505377 333567077 482356494 573402762 885153940 964536645 398273908 982323133 195551566 810996787 963106848 980972677 561146118 142795941 838636815 684256723 724828624 304139246 497875890 111088143 667324184 326288863 199022509 227155835 192739549 377367930 383622852 862684429 858164754 762941383 816446325 408765303 992496716 413827369 553055401 449375199 681018082 756679391 314714010 869420933 834995186 402507793 682349874 603560914 168738151 328637890 528666811 860859849 703872090 253896219 224533877 310617376 119971772 484623765 219166050 386942467 963121493 583178182 470992852 382593122 282164743 160492495 869358520 291402643 895969769 723677317 179049361 998362832 776700050 308919846 396697126 600157798 352932745 689503081 893545035 605016186 620607211 789855978 412766931 443040527 414725002 136043904 190003720 903677575 923193901 262724107 477412667 695934092 536397307 179593436 922316187 786816999 836798224 663285745 406759117 823858992 245099819 709998455 825410270 722007532 966179891 573139399 923029780 536423517 679879235 935008085 103087164 969515588 935451742 407348382 553105318 217102834 558251134 504030125 203072285 473501327 430766460 927459492 183076946 382482020 151121094 753660151 867620319 217469806 838339145 278466285 617200475 411217363 366143896 709492403 689209257 193610313 283101139 889031726 241195267 951878075 321642761 191028761 241820634 520012903 617190181 306226271 166489243 205940488 759127334 716399411 868538198 703061408 246463047 639629942 875601693 989105202 486148897 352276201 347536497 310445584 763396745 428693778 934428751 257770573 685431525 716483993 907430988 842653018 493191872 738522174 871697758 753389262 940587156 447347030 474525690 331020407 575392219 614881718 831456368 663751599 828447858 924390283 554051477 410004343 997183644 367687463 377861437 965745155 226089688 269880320 384017059 783830752 767458189 435482493 793811405 750258279 518070538 153531805 149815292 634312768 407839344 953842601 290571202 974050435 747461799 277059902 217289535 594247827 670621720 295591131 320853480 451600706 726275803 972926324 831215779 342200935 818778271 321535534 321799756 101156769 787750143 977004471 206781080 418071807 325759891 295937576 134006188 185492329 530161850 439580696 785307230 515900686 164544264 166890615 865920535 633776725 639648045 182243574 463992148 760477326 474026587 877693397 316338153 458222289 928930741 917306662 504444544 685892271 896224906 983349640 797803141 275929013 404236558 515651014 541130656 691305816 822736967 168373351 433984043 804369786 923675123 569911512 710953411 124393890 708298328 951807145 818298895 637704907 465924145 476300913 511087762 481940283 175551366 310979165 711387970 464314822 905812559 318338600 136139393 255104463 353283289 796010327 638874084 815630577 615721771 844944070 228914949 583067638 412675994 220432719 932927566 881891634 310630304 967194648 881122248 235152417 947224354 613871108 681309306 863155712 970470612 456413106 646860869 362733172 503892182 317519927 358852439 889610906 670487898 663334574 688366213 392007438 886115599 447803632 941011254 309605192 591530558 496172946 346614781 260119050 757257981 966933909 221133806 218536441 524339405 373129194 772078129 233773358 670385330 107262842 722823300 707257716 209963076 974996004 523879760 373276277 324294519 679560031 269655753 559648490 355136309 840288225 590296064 597793910 719989495 898460785 865512572 949046595 184475035 563809943 574355576 323870964 124948277 488242520 535475423 371743305 932369808 954130052 780179692 475322090 117419614 980144303 386177985 410385800 922014973 133485163 505236345 977844218 105803391 460700613 325845968 429856162 620926131 992997250 234138002 269891134 491745979 596432570 531060486 162515973 830431536 603193136 854702515 795863144 713413981 616920828 178221536 382586528 423725559 802206782 294241226 335606687 368431921 691696247 794395194 662653014 706215700 916185551 685048587 947123308 286487189 244190764 390565739 573657768 420117037 169627039 248338927 694058122 682441962 130441972 383927441 150087299 274059151 114133778 525618793 666012150 588449283 867312942 969482700 876236587 649351913 321345603 809555305 828146634 801562251 919591793 675077862 314152273 649933955 611220974 364968634 466337482 899977284 510296973 331516322 197318003 190135229 204997922 395894086 437406080 597916763 724726352 590787386 371946378 583824137 227807447 433517502 478340972 415732060 536942834 394326649 436683702 158540642 377612264 712320451 777202086 603833434 787448423 853738033 167175817 853924045 550142726 969203654 783483507 386435143 791693279 287213318 353559979 106713632 605203492 757262939 682758141 473516617 846021938 598030100 803914193 828494426 586054963 808859242 264255763 128366082 555504099 665261258 241324704 500275977 107943070 921581833 473102891 257436422 978913642 662070588 775942601 974053066 628906455 117193812 696877175 723398415 732179774 819444372 264198039 682273563 240689494 455744568 557724495 939912457 766608897 978928920 804291109 206535935 448853259 518362606 850307669 850151579 494744009 358558632 217457129 130169899 449390683 654631165 657244636 118380721 788800624 219259606 982632230 751912491 390541618 700272798 329000955 251020444 402537323 945022184 898077475 359775488 780195676 960973270 946553599 453015381 251891238 598714009 505434901 481519683 328626706 404547109 992195797 886811087 635682751 220131086 705160973 624628012 112237296 130963923 579795340 460140330 244484768 589852953 258576580 489872954 852640962 267443077 848176087 425048040 876721873 839494516 822423692 575422841 147680489 463894812 646748533 676893424 812650223 530718111 208944481 984353696 492657832 203817773 353535350 672045881 797148416 120029853 136301308 828495399 403382004 657083842 831188444 310041660 360170704 208084820 915479592 708860233 169172902 374594684 220655366 281219595 892287316 496338943 770267616 921490799 648952040 502770553 558032861 787697755 656946412 229237040 377165863 585919941 676918416 287210619 802253952 907609008 250568803 852938948 400863356 976910225 777044948 584716867 173463403 718521900 600174524 374532090 964084693 289284135 656768452 437329703 386973440 871143877 531961914 988033499 105789920 146259910 351101310 527262550 253715716 140655588 956268653 441368961 127272824 530328214 967900481 872241981 949026051 562165976 489693304 666684605 850769247 638365783 953471373 574659089 822534656 637779461 364490112 140901435 376924247 673005794 194517078 869666753 150471107 429075832 170175589 529557903 251035872 973407235 498241966 979869534 630122216 288368287 648688427 768706393 798335560 581563797 201698654 991195225 532024437 657011576 845734102 883685707 620092984 117913157 130854008 764329879 892352145 494064198 130837479 389586707 820620870 573621410 313822109 846204653 168017501 905040862 940264459 391792150 127199076 408973521 250233020 653077953 951969288 998957079 125489069 749284013 328302368 912550035 735426357 287423050 761589911 606017958 418306278 211987413 166483857 139005037 615305103 900597847 267831104 480322919 469699106 389462344 282582190 920315237 419529984 391226046 165599299 661080641 936806810 664192009 890298679 961480582 525583024 683141556 233194891 814694884 461861347 447510689 801763199 486298726 538887761 995700476 247622159 280117552 721214173 108974106 553774758 884305031 514549324 182896666 880034566 535899993 205296556 195920993 594816141 677859338 817392304 608663976 120180045 718372454 480926276 764357459 946473840 403532037 368090803 740981498 931181028 556156979 856237450 675375380 697838146 968656337 604775748 478062569 933358278 503337181 252550083 310255662 546110358 966640329 120600561 599182382 738015742 764695803 328348622 850858230 842773082 598154303 755298488 640183522 649300090 487501422 860933262 889440215 632229080 586970035 517191379 134129976 169845490 308017221 206353001 667208979 436738440 727207548 958196519 681648921 538310662 978221862 411387437 312308673 924681329 849330791 107761310 131442588 254776511 556331588 751189516 587016653 766275733 468568532 820569002 377772057 930542555 793547641 252361169 376864976 492122112 107884696 841745425 497979745 598187016 558078262 596629950 497758863 727305546 238262525 389276567 436557899 256367684 239229567 541890231 280505655 765551829 450791178 502856370 176905015 313612538 196620156 852724109 802358176 276525357 506871963 298564331 749262629 741532421 581544263 687601519 427918386 674556205 448935215 773155380 738815140 481179931 263663179 818429892 661257220 977517462 826471024 954622734 258636096 859949808 907148724 627974001 117761207 342874990 780784082 835560158 469847390 469634438 775910796 211513929 539593970 710911592 778176549 477388603 146848056 354543727 598126992 383350566 119523595 785784370 989725750 653427306 367324116 849079615 532531376 254305608 620517565 582738382 807764861 861835653 350885393 713280452 718531984 245901291 516375696 432233353 541568850 160958357 648549289 113834707 158849425 236261021 986922864 734094780 894176466 740624456 618462754 689740049 614091144 441266400 453818493 875985707 610721586 563703182 384268628 200283920 119117061 992872285 893313974 105956684 579470653 444603698 312011349 564475840 444435875 391893396 963112936 123193531 498979206 324623953 951489568 805154551 438843610 751321371 990135221 513772360 616093520 984380269 443492564 787273175 116455956 699376550 368827206 236008437 468745464 813786990 660116765 177004737 977903925 752217645 540636204 627674282 339568644 494134840 152955827 409591836 668701757 297119180 883256650 854843754 899872858 785528277 123079984 925687938 636915894 896543619 933569897 679121845 839545472 414708338 203676337 369064480 836081791 795604759 780627936 827914904 909057805 845862869 690866285 500326518 391860720 122214909 229107940 422314461 475602889 164474266 279877573 888643446 377602283 162717214 649240959 239140176 575783057 381942767 742436565 258491708 514704592 382137342 700267027 836102647 870049702 116980047 911143717 848832220 668450794 719527991 364554435 913921707 812934972 363556631 912556307 440396241 893242006 377141283 785016529 882875627 689798512 369056678 154077857 737585378 170696299 185953078 581646027 874789067 234378935 833770295 713566204 938106321 531808269 933878207 897116286 204565665 497000396 618424484 143638855 152086700 910146964 245258062 767195032 989322385 355492769 518178115 430724744 235657572 946657283 648636048 613814527 797311714 625955366 741832606 999418367 128146023 404732031 320477101 634566366 255467555 277488958 765807565 831367845 848524225 217322295 890615602 930556691 247927005 540079026 594311958 244640141 206752972 212587577 869303083 736341800 140798082 129581061 938231587 159357309 279663487 690451472 159552960 330465798 557738403 487953195 267148298 253705956 285682130 956829921 295547594 116011085 681328139 496391413 214382913 289294894 715596296 264789982 157265016 742516520 373047749 937603423 589405225 774884604 730592068 327842438 533733062 520269132 130215697 438908291 173772404 309634383 368982156 498817489 200471151 376569376 206168382 976361313 599030986 891236100 544936624 489342372 726965083 849211720 906854358 417755921 376131663 236394043 473978230 136313067 447959453 300485005 233541575 849922072 871061402 661711655 543157086 450720498 338805757 539147153 688516912 534756032 792966656 847530955 592010410 644133277 799979040 731023612 999149429 379402529 853838956 959428912 213636557 636997577 435192470 326771535 889495616 211000195 697257593 345809086 209137832 426480870 318184739 682676269 754468677 995812087 495628168 340871479 741569623 627736127 743346416 291254351 639051777 593179654 702387345 997212724 207425290 919915784 503463427 496504901 689554348 785125526 845847491 715744492 940971377 329596232 779174618 136672340 172025593 653536660 981974568 767235921 951842642 126147055 176908957 237079040 789146440 658151693 528594913 507071334 537289996 900021459 796301897 435282133 880299260 221077733 247503670 702942518 739232776 500780309 848875011 684519390 885360623 543375088 463598274 413919806 371951174 999635596 563190541 131970813 154860704 121129724 473603952 858573388 705418491 833277179 569870573 680992489 691515423 970816836 945114829 326690756 760986863 686303390 758453810 946148316 511855850 452043655 774441435 492564125 479279806 754225997 598975918 354209641 743883460 908886963 659742051 443960511 666284104 929443517 636923921 130816040 972936911 626399468 673907382 555377758 849953147 637682012 212664425 270490752 324479683 749068323 488139535 840655795 193072180 814924786 774306367 641116151 154762754 485385790 640887152 690938358 303160083 946715286 178368072 911401407 960025448 712220445 115044419 393618554 129050986 574349512 384938984 974079575 440586444 612210774 190435111 773519880 763696443 417870031 597614007 972893873 400497114 535361031 647607785 236443658 981390757 185964411 570115875 719683976 254609153 201284205 566679965 125689403 441803607 951152929 777401211 713661220 440728177 757109961 973872281 698798824 990424124 234533446 336789002 217685241 567096901 146462024 576438518 556131146 244362888 450218051 893207882 355537432 229455205 823972110 857738689 183154053 954279394 387711118 941325605 224206961 484859907 980128901 739610985 118132368 713206834 685539379 696611638 823223073 479603671 754167846 790823302 929097220 251888924 370132041 711502564 132501720 616336685 130168093 877392724 533621281 375099950 774424900 441632782 588134966 758535145 477340169 620788562 558147391 589032430 759133174 851321518 390301064 460373630 287031375 383114190 584812651 420011482 663089160 119608268 869406653 883813427 253536949 306922935 875813950 512082817 647098285 506458174 404360083 342893833 840674776 718204321 103575089 441484188 145321408 637253471 715301781 275796778 821977131 774874135 534444064 812240434 342883460 333239030 911671773 563615750 563998470 531043786 244257838 416912548 264633314 113320073 656177584 990862886 131298177 503941615 220015793 611814321 772466211 269312260 749870223 440810317 238638705 519565186 387638886 488249842 532449983 887015515 134003731 305950892 705517975 900353082 847696381 801107025 376385668 304642591 233534237 503543022 731542908 928315871 316238890 272559251 266606092 558242761 631599222 524950489 188374043 282969450 946538666 449487141 848319504 809759125 655596998 717327505 828618111 831979104 977767673 527322615 858256365 549290216 825093140 603053029 218245028 138323717 265313741 878028623 213817515 286708756 534164159 641367690 573446745 286281194 702532770 480777535 285906166 970396456 679845874 701041703 478821894 212875001 562449023 923364723 696641454 208311931 491122148 987363745 557189871 269591388 812039850 136810782 821352847 948633611 864085169 297051745 937694614 394727333 651954675 993681796 408710911 769304925 586120823 528584938 237645681 712460016 443544270 700339326 788578216 486250566 574730749 921030857 234726727 598088315 373816618 494666404 382638422 786176966 629292158 689899174 480474332 863996945 473232330 903164872 676972553 810701759 609201234 717504413 674618644 661225577 133170408 561515280 294847787 396899669 710633585 119917115 105068657 496936831 214992498 563906834 322231038 466030523 835763977 770925724 164226110 711135847 938678641 930280870 335283321 259777895 165039113 863048700 263831766 798419293 341051095 504621751 923379679 454124389 660293761 448988329 659853791 678492739 711296057 263345841 369209656 968843000 852443139 554357373 833161517 932756053 780603058 917774393 502210614 726314721 599433712 680156381 836490726 148357236 724031024 765413409 531203132 397810097 756585128 273266748 291272868 247623057 624355880 854190032 269127000 588289868 215867620 589418739 185976607 912624477 641914124 882270910 170972085 952817926 987269605 826649662 560404457 419792545 810926220 642457560 844843945 137205471 427592093 576497269 934006022 619146693 771235696 688938715 146144873 550251972 213241222 672567596 509623867 122507808 742483918 652072185 382712632 940797207 336211872 765825021 110473380 808292622 105931206 336559330 913678279 686323276 493522440 429550597 128879136 357982909 467051081 274582313 644649764 750996304 157879276 495398369 757334190 148067222 799885653 134764509 263677259 732484172 177322312 368817516 563648955 566206079 663709890 920862717 781869728 774268801 684596839 327171433 107909561 825618471 587566034 551345768 269238824 735392205 150905680 228063982 723288846 793458539 727111474 760048094 624681361 559807487 431414502 156617483 925866173 866846529 681321406 939643107 739898063 880667022 849929564 888813547 754487795 879748921 672197776 761101628 303802960 648305164 387651330 522626146 502093311 506945820 844901639 250258939 481930664 763977402 183411490 186953934 921066848 155591385 572000970 908490933 864890092 944034761 900580778 352218021 572069328 643278794 648354487 874447305 800069509 833204720 460045446 560919244 624001972 909999867 870782952 133767829 369242629 923854563 582794986 149714352 647714954 600472862 638272540 669378539 857778953 958543706 524597800 787618768 823232488 238006576 149862266 943691978 556675193 992001379 755989712 618894807 683326834 982460285 785461410 450452312 982745905 811635697 271010982 812269342 350442315 136538719 368503769 179777910 883326278 120583938 674309029 944232111 750166912 539091485 393029695 241076244 995655005 178048710 890051883 130368520 917696300 530944863 879178516 267379805 393363309 307319446 373424799 360574081 594705456 155718557 353577872 202939569 901628970 623430221 780920119 382427489 225384954 903786824 339192340 273386365 308615152 818870859 309861785 743569639 270767304 371330073 726026322 301415406 996816420 387874562 497301546 379638350 990711517 205029767 503646177 680545765 651024910 168454237 981417323 338115630 440411471 482066629 727964782 837390951 797760032 278181770 350851824 588016971 208787571 431951327 883393679 157608215 711996436 565223326 975361216 686241681 189596080 526297240 577360869 447249120 845927850 820600218 395262527 969020584 922753114 439323549 855309456 278268260 701085509 356665251 876092031 175988932 382236295 604050585 905626137 488655274 988555416 240005489 506843854 267023583 611684398 732051484 474612876 561941386 206777218 885961176 624938870 575659695 686380793 812427523 224042907 303286189 793536224 287147382 234925664 592875555 242231838 719089409 686170971 924531165 510546680 339154685 552688353 554352973 795515131 384329300 142349324 322574351 172426079 344455802 578916502 409677304 345007203 450235141 864949236 189740429 595280252 287154278 750988269 957153703 948976509 394015058 923004080 688151546 166184701 720453791 944924393 373102834 195760815 911896357 442594167 846599208 967317718 590451260 812618846 241721662 966173783 883800245 644199155 979701983 170779438 833171711 341451299 556635059 572111469 717307763 512415163 270818460 832271321 564473785 257963349 938306830 458934893 836555707 145343710 138713367 871296924 772624084 119697727 656887843 127858847 730878685 874028634 277738776 460754710 222477084 964821598 107900713 992987993 177206973 480220341 872623525 724851774 432012640 877028908 158955574 341296696 896080788 920696202 937552911 801304055 726714485 324307645 384251255 931804393 205689757 838268038 379374340 413149398 730407688 115914826 431145146 526402879 966272690 660117283 748461956 226297314 394663507 878085616 779161582 870258361 273527449 442111260 320712533 459841748 206183975 792747344 163839050 515824060 322836077 907457825 179865140 102108279 798335151 207973510 518974987 207283133 559839279 372532591 659917513 850460523 621966220 534502199 732331335 520560771 905238500 942307025 990088725 745412424 966105039 266578870 330321275 135812953 497832474 760002918 629697186 979841448 999690626 711224269 878908482 302606562 720548380 909702232 797642553 120000773 589100999 227379072 733814579 975623534 951528507 252851775 867337421 574756328 588160054 568221083 237204671 491741035 783976528 932726467 329122348 299193299 745632099 703768746 205690906 284704199 582203989 578810228 600427649 350898181 567200372 949308562 617238771 836106590 322873970 112916539 322767437 237334087 222136977 994845514 280597845 761173105 312987635 330040230 354922568 506741268 475043321 672803507 909867786 837399717 661429189 972162694 894641723 281023678 829593051 984311070 511981229 399735689 460413442 178317454 158420190 136656083 493294546 875333554 756954745 426331169 578510256 640882563 952610806 709841368 546309071 471941587 632464516 103412628 794703021 438586805 274566791 327745570 126384380 940142105 475051514 821148730 340752214 609468947 553010498 382374006 473260334 951167328 956726997 757471335 606135321 367704099 432400864 412439883 266970728 126610369 987462823 556724592 395664651 622054815 999502970 132718746 273140452 538221920 577036384 548284181 316518243 981254695 715091435 729975914 287850257 503928907 957846688 365655933 300753846 695596087 118400768 124870148 392934652 646602549 722164733 368001864 609772871 842438694 402079095 223405036 514134812 691118470 821753800 709754640 250720654 516976930 653320564 113140005 970165017 234128431 560560445 714480581 222861823 501158142 490464891 797186813 964226087 878342427 485604839 470556351 627880460 578924130 575059098 535198482 376132874 840128253 846296447 223593336 760064651 184286294 925538554 995866973 935627570 470742264 434470466 420891232 245149830 338539564 851913687 914628744 878915252 409248392 229127939 822756899 307105353 528379092 160648966 994089891 174752370 924904681 385883792 267368778 541797326 749593360 933196650 626021794 936020153 881778518 865368586 230765895 944217064 727065127 274567636 776423457 433481442 695436101 965724356 314706973 779952496 335959169 321184401 682654648 578805762 480663378 538314761 324236420 698190025 610158213 698861862 816003285 107312560 833430793 102243935 278494397 727024834 786088171 522162019 590665800 786296818 351009492 532919235 884832070 402346515 959785434 593072320 772853353 644363287 767155768 951376141 566266185 571958633 961954297 986224436 836677720 104295406 610677345 321941729 859192178 264028199 974610524 629900351 324381027 836064178 226115830 952658377 396570687 378622656 662338369 764184014 629401493 635964217 249510902 106448381 121003291 778764760 769520769 964603749 368325343 627426237 591876123 262530242 958459354 445744387 707123506 359065753 754280317 418110009 887674098 519567642 748123103 450457871 823309765 756692197 512386302 123774782 203183389 816692357 330650113 615274521 224471833 998189628 340202012 403747043 450078127 498662208 100196169 406689366 208492158 930060519 645297214 284932507 454068250 686968026 857387229 527324969 224060863 408730851 789577483 222645556 309227478 270385657 805590579 972300630 175976269 354427016 950835642 506879161 787682987 811289723 927816554 797054328 839102705 880988554 485735552 152017783 267768343 133498225 375586538 248637923 731557283 229603834 452052510 557138817 869673652 434139690 803444325 574952410 678832829 491622686 219742346 808654105 556024765 467459279 564622193 776653944 975881262 816513300 258078657 816366738 414953127 756618942 445730088 629548562 889389154 690234094 386499920 620147322 911050796 304680461 407885747 376133233 640786121 342491480 329254839 299481551 667991794 727865436 969980880 167326870 770033606 384345167 523881012 527587864 655572262 753242758 457597522 961113517 311649372 152162595 998647010 832669939 980073724 605040680 848254159 567726841 560551383 784897108 472268425 625954941 386712004 572931475 548616857 300381493 826780286 966599618 435496635 551472912 750413241 893474716 483102710 280514496 225583846 324607380 172574147 103055295 409998591 355166143 374777781 147956709 530073338 157160670 530625621 267016171 388646881 997614627 220262880 600282900 461918668 385718406 237617788 174998449 110672303 938423123 925499448 292311221 798976265 249294408 717945275 942602435 521908055 486185253 444278482 706427032 232677141 838185655 670697185 169039302 902776472 473745291 918027213 505019924 864052285 223894793 431466039 415490460 407702638 911618515 594290177 108138697 614725545 494595303 917434511 554613795 543536196 275595208 903217298 871742586 145194229 214249038 232509731 707353239 936661658 953006688 611357798 722329296 507458955 152286557 337722219 915102388 235488358 688419553 969857042 757488674 361330283 229501216 303095127 464824744 695900020 765580171 377680700 597632587 753678618 381269277 208316891 125452033 762250285 751349527 200246626 662727347 218825600 298173777 462957052 572075780 734147044 383251285 600321394 418657971 390048930 976865184 753193233 312161741 785224712 347141684 944769189 837491316 857801069 644789394 628750406 572072936 117302460 366769100 258758731 397006902 813927025 156592417 886720747 893387263 869664362 852458121 356612708 711811376 579076748 246987855 122428068 587479912 750634747 312700097 793740968 931299269 945618636 639222050 432721521 865481626 890673151 222614683 285841445 758659309 585666867 316907857 671853480 247891708 606780390 972414056 687858999 948131904 487684265 245220027 487722073 901402991 545709102 791036873 972750312 749510368 318068825 133144925 806679776 769388529 663850573 563599365 496409270 122910781 298993931 418447613 609238260 889672486 185456242 611220881 458333709 621906469 361115009 459340163 947217270 785439576 995054625 570145393 310937314 752594211 818187595 716237720 252255953 359337033 480918142 181554629 284670698 132256006 582851991 675865415 754513646 695551778 440917086 468231281 355067910 859767297 430627947 221483398 621710371 622147895 191154722 916700512 100906728 633426875 189722240 239576041 469143457 469646942 508224851 978792706 288307523 317677485 143123093 734996946 383747538 650040296 259802874 661754313 153598049 622101157 447073389 884828086 693707099 777422681 792251035 144211411 549715299 963989462 541848594 232315235 373884577 895745982 234022633 613502449 979692890 946905641 121656891 650833240 186575033 493295256 500123921 122547284 273895923 532719171 224262906 389812454 745750091 497903434 422669415 973968518 607387401 417398048 778734645 870686377 555599067 149184119 628090351 329227943 380760515 617553986 523389809 479116666 836998322 123192681 793442403 400992751 278673572 258631467 301175006 543265811 585827309 788795574 622852637 324072016 665000194 199920990 264102752 851108719 420953659 889387526 415665805 217062605 972423583 989487283 745608903 763147521 506749057 137246261 860440475 866853413 337822737 339336459 883309758 223731285 252715137 965416691 892273874 479149009 696389288 299308272 946259826 533569945 556008770 203933983 571477658 272051746 449069367 122771955 718921146 535446698 617264518 362407806 392134406 239717076 662334395 528501579 371308887 487462490 467829187 529868951 544852630 742486514 626043705 500711489 637653771 959461291 569961462 160204028 828587246 887321367 920393187 847818678 773780092 783487484 561106943 167399231 200686387 165832824 795625786 914350343 346716213 175838750 363289984 521105396 918467793 592021261 362594312 442448135 346185542 771237136 411057870 576129151 687053455 511703687 675974553 440578999 247711728 982697178 370647867 831223550 525024200 929150888 641813836 293942451 833286774 211789435 139911980 750156257 163349105 175662560 167367222 320249439 662527442 428414744 828789755 167493553 123133212 464498963 975046346 464652061 862062701 202271191 846617403 807871265 670728216 438201781 397052664 970549552 776555099 215143602 317020179 461249659 375978360 503543349 860077038 602097681 239581766 320828385 145151758 450755249 541446256 114016846 374958519 589272862 129111342 717922837 306542492 603786303 256408373 823778305 620358394 605920343 974665369 360981860 572415584 852570159 772735958 371750493 150258685 483358543 285583763 942875144 565037105 291471799 959726618 661784712 123358385 117120029 520886501 137138874 259339311 725306371 218756477 797042168 470281062 343655539 304376476 762248217 994813694 608612837 901799257 995808675 592583090 874805213 165518784 615472623 351540956 391812487 500132413 630326340 498838876 745985257 656560331 259518721 342643832 490887017 184883351 870290565 414753640 622522311 150584927 720613490 941595662 485608751 232740446 282510994 398469902 567234841 615059635 635766532 269982570 163029781 872207425 210869759 566297457 231669473 191933610 133753929 589565654 392711157 924789751 455179753 975203174 893794664 119178936 504106800 613548804 431548981 149826981 827809313 944682390 985908671 144239309 639229135 754388399 123266776 342922431 182461232 295846540 683359289 324740596 437577621 463528324 489128956 636518022 305339939 593802110 745004550 453211459 993982199 539165032 253943559 513108582 834056439 989385021 274432446 909154241 398877700 666765301 330042476 396841928 794045736 341265405 267533814 504153134 604489733 217388070 161698979 658813157 339135096 810934074 557431585 334583205 413871032 785433009 645781331 625383606 960148081 297889023 438184915 796061942 964483400 458769583 189970287 337652870 770636368 459884751 551583329 854326003 677789619 628060266 912317611 933561685 847951569 133865449 133520088 195430359 414853180 803838957 776424176 450454379 590700162 903215699 836833842 234727474 439257036 358151611 997889928 788457290 444427620 112855203 676331797 695457437 676762244 579201090 482832315 159666199 513137247 179490057 772172919 416025934 375096919 913064376 880677252 522089826 850474957 433748608 208330680 433177670 698484948 636777471 849725381 789161691 307275963 386558891 682940627 678664570 451198410 748178980 855948257 442439099 882962051 197051898 134024160 142296974 924176704 960046348 535347740 984897994 519923357 787206774 668224664 477183130 251209122 818141135 869748377 418994528 381894474 819204492 713876474 917476329 191564594 561342459 317723509 255414068 824457955 267132510 786606886 185404884 679013512 277511383 314648072 569773341 269670186 436291623 603118977 668452325 337602225 858948343 946969436 366600020 698900671 655035905 635230188 669695851 284299061 287868843 254180068 973669273 110427011 334759014 349907308 553158373 493105637 326244876 773090186 417103825 370104407 774487367 731579800 970038547 868968881 925366586 323459788 817094100 598620132 340096678 847642270 738638864 655112556 201598199 486763226 855970502 388672716 263734558 680547808 593182105 559730352 136554833 236712475 249399080 830664863 887185735 603271984 937483232 949021009 266170935 576443589 625082560 588898019 213745729 461937806 597854605 911004123 932711339 989185550 692720060 875513693 644756787 146112111 989456724 123533731 820758050 366134195 174128643 704170959 302036075 933171682 484990786 762868098 521476376 640804116 548885619 869036593 664500068 961260293 647339992 634484154 756885679 299394992 268525751 231526172 420365540 739644030 929650252 164550738 736455905 486075078 451958093 730570360 513407757 398757612 289064553 478639214 192127087 766061589 919919390 930154268 293563772 528185010 121853272 525867019 172182149 237482610 138345291 917238847 560210657 154988914 260673073 863983754 236417899 677032007 225112267 914543562 450313396 783368439 366510829 294219366 651195683 926979941 846172352 648141713 818608881 537267974 806865813 399408654 265299865 232710467 159740592 235817332 983607975 783578413 508168673 792940924 355945914 625152049 719952737 589548829 855560099 445202220 900246849 894541892 295420108 718391179 233487943 136295382 825489579 316325257 238933535 450252170 154558549 411076037 614223633 375011576 241219044 516563955 312341137 760681795 104216169 360098476 324079794 766011930 959903980 770708078 529185069 414822898 699757084 297907949 481928191 809060377 741021797 536188151 507022424 984715459 389812562 710094052 432930774 808861902 537896097 287996147 889590902 597974809 169672715 708214629 844358409 307747907 530842440 569813873 640804992 883210253 868895298 416729468 621778709 576811899 421933284 470257061 619880157 249712632 716238965 978847695 615549131 465722674 687272711 561229622 411463486 505502053 175711374 462120781 463355726 854577048 251247240 323968469 203165062 695970645 292776586 221715532 214118542 910242649 481918813 607992291 822506346 822266620 468329031 710784462 692378690 563864735 750925567 727146422 137547093 818578010 143769310 186484124 160554329 441734927 826832807 175563840 599879526 806652280 803144267 162599006 650346365 905875366 670634892 585641949 758089259 694510728 573408428 523494120 703759961 651185413 893343451 166033163 563134049 180189087 992991895 880700586 602909400 925497785 525280015 591747798 881074287 247189825 346131947 513699756 826461972 125770597 318425707 379063518 807486535 148631712 367978168 966216822 981099184 438940927 750374346 337443245 613742752 871465482 944671255 486685692 396626942 250175578 368994742 349207424 263578326 202301451 178902609 966597296 497579257 955868314 457616546 460898971 249536179 281887936 538265442 276407225 384093816 291875142 212694290 388616466 619629791 876244086 461820486 444328341 912717427 978237596 988805735 508910307 905208511 869516465 339100346 526154592 831729384 172179779 771118895 770790108 357796802 540233712 923933163 362871844 148820830 569609903 502886225 798913546 442544761 783943925 107624952 732038942 503892793 421477475 796457934 778282618 853576578 369898371 731357095 876498018 214827809 878628293 436167280 184415461 932845814 386701615 332923189 207058099 150237196 424142646 903858015 770519880 946947885 424257929 614263618 653947648 604603611 304698531 931377688 534826668 329632005 660452800 932941955 528556929 790562845 985319563 187044980 219099685 682247490 693342189 510777799 951005353 622065652 399636946 819665032 291139541 389145547 664402990 272718657 781148559 825172224 209011073 563503471 104594090 301202102 271875767 533657620 108333980 255026413 838236108 805905070 546928553 812617906 553635523 522263622 255893250 578270849 313938237 362277580 864983453 182260093 577502821 303622843 645498074 116227041 416660949 257105052 691549497 451057317 118225739 141010337 979413424 132339943 446782263 181690242 880805826 143099511 372597454 295398809 662467864 229231007 565954885 947027199 258907138 271408754 625987441 784040485 422501078 856423598 780420522 512918461 215418784 674759203 170498818 895803772 710497359 843076106 173899711 300192644 113258207 534385985 708886874 825188230 677847407 820731947 818534647 568339391 243478820 112131223 817862717 887621014 274440030 429043752 642914625 269901805 316594393 135228044 750783367 437247746 465707723 395891695 545649841 279589850 819911365 692388820 265672320 253750619 587181340 448000245 918829302 284640673 101168362 512008551 772367997 915299182 257141749 667533791 710638614 886573181 717943691 580293912 386169137 302490144 752404961 156911202 365285196 966980519 937190565 372606057 856138617 918904468 195691765 113468818 342962703 862680377 923679220 278336221 961316684 997897339 481650623 133904799 600497438 646681236 636441133 842380911 876432186 895754446 906439855 686510958 168126616 163559937 880302666 994162820 274195654 527654493 938575157 610383138 181573733 126633599 586082552 382015364 119721076 122911231 356612065 126113169 796330008 410694145 243011267 673784122 992162118 406587934 226903112 734851751 883041573 917365293 467782986 869902102 608137371 323815001 652004578 699738849 905576303 754914865 653480086 211402831 462526310 502591019 528668830 242622107 884123245 220905083 644198136 865559732 518670674 686989602 688814372 370739092 180576417 315508406 264461906 259217289 708507913 557464276 643481304 351069050 683519318 904194777 629211793 903021908 630003808 860834551 469936205 950949390 796912132 537692258 278189696 375415411 417680572 257727710 169899233 342514567 315656460 836104285 306956041 164177770 471983506 693913145 556632730 363141840 988785690 724783110 873668005 939596517 737178097 801902214 229786623 241617082 207935041 917197874 919392545 655692503 684526954 694459831 199292735 475781131 857195330 942311873 190334213 964193288 953630095 898707934 724990492 419617734 950359630 353250040 179538223 638742230 764065206 547655236 984983652 334888168 770011528 575102559 222767842 193352964 982685859 787371623 388977665 555091515 177802329 670764017 843463934 785563789 649618699 915716369 825337835 898026877 277791938 681506336 585360511 792508619 594670430 982266278 702264551 630013992 107737263 653049781 947921869 936186133 606896511 690444439 489922040 639813664 834289555 801729937 560420657 301376620 637512714 372583083 941793046 932382621 607257970 313926158 764456009 898205225 307442388 814044397 585350215 862277131 507813368 181144451 765113538 236806691 422942743 264914543 645745761 238372394 349242952 184698963 914862249 444335460 437597356 619622876 425650183 523586778 609375939 405874856 968957277 215415234 117676165 572356442 515842995 767269597 660646391 880244656 989684904 708186513 569208915 489962973 744838036 122480003 614797395 448714040 583163737 500863073 593633454 463270572 871006775 546934425 750248423 641068157 522454360 940936309 120926171 377636706 409691565 359199844 705048799 930321995 384306817 821188680 405205972 648707013 247917904 436621627 771896170 329778976 696181220 388665873 964214633 404462120 921622378 577616512 687105271 228106237 988906445 727535411 769775506 243454794 174201406 251340226 963723586 111201787 168334347 212809729 515023712 138948150 828812462 264205169 560507649 309222832 317699787 153983624 274848951 313074787 740428641 742817593 517928829 448572440 488091070 805306332 327784467 917279373 941471924 695184670 722143951 737175846 450857116 412890940 247064541 340331664 385862656 330455763 403096731 650821920 734099578 806879723 801076739 258239774 518452489 330070283 633112116 569336719 579801767 518052897 265538941 422093944 669474035 727269613 315626316 886694284 462715519 124776593 850774397 914060748 213716075 695300519 902773932 790328523 192586664 717132557 321234099 801162936 415513943 583270772 820206986 331750515 944526249 862048529 475051124 137921909 992607178 932380468 374874568 394194512 725301866 351434191 335817954 187931252 523805385 318701191 649496531 471342627 573770067 882793238 703192418 906753303 918323070 923029409 136684293 210091876 159032874 731907419 939659359 122701741 379477854 931069532 654138097 762435529 209508194 264531097 807901184 666997756 650899241 110593149 291351978 419858036 227068717 762348910 248502907 507383180 582725126 152806530 875951708 511137475 960194282 297304891 745296082 491788081 898190614 269716837 674686223 698549834 688113597 244259759 466731478 197124064 221526389 376837333 831203086 226482023 479444351 640571770 203276381 738271146 487881430 544114538 571973825 337488660 303639958 198327342 995461634 874968820 836821860 869752701 551799666 744901539 448193044 783353328 379552988 150023781 486835071 524740002 391552284 896962631 662666265 408999632 157969861 831369658 586809821 179890026 946728809 119855781 541434285 160625943 158833725 132101762 863953614 716606494 800508229 766975075 657799859 830279578 367154052 215103475 749945171 839320557 296259671 685111842 532750960 635711994 312891130 953400055 292617533 537549208 960118634 884365579 986744399 541748908 546353063 418963301 272675752 150958339 153872112 739436739 666878434 608016272 856141574 555323128 703596646 995893310 705969579 845606299 267914627 485942825 272026068 928519194 201274048 822729049 483399000 175920233 440514998 241369418 112866366 391247282 446591269 593856722 705758183 969762989 896092896 996692128 431878568 480689112 727035290 558216234 298386518 789200611 877127990 994382305 954565973 344025587 709582973 555629233 574941400 567196726 699068306 781247554 595536436 278695081 279865639 557065580 259957492 217299881 657052170 291260927 664153835 907585007 406831201 153240874 603368168 321649422 740580309 650759640 543932720 525243310 393799994 511097252 497821847 222230770 516598072 585320502 481900689 202823703 719746276 378090596 107211915 621435624 863376096 302612004 460261221 411911733 906942239 672919008 528921250 815655396 625786857 808675906 675114564 456425411 198970451 967974269 687652003 170717926 660647735 468935357 253259529 625486902 889914658 881869891 195318674 263998849 846335680 198358067 527527319 113874501 601886965 709969231 393172729 232762271 400851940 196422643 505500390 896485810 264942763 829585978 504477517 317308507 735723057 284573664 514083991 713558807 116223344 874507777 489265448 527414511 368915364 827598494 358767905 920185835 639903110 361114427 467003357 607879672 465980048 733276269 785750092 355188307 818606388 557377375 124886241 221747649 348307369 881596981 756245130 426801124 777547230 876518405 799894850 952872923 286632642 822668215 221420180 279152335 771189932 368484267 917557240 913263239 698713312 225197756 465097231 264750733 667272894 217703229 785919961 951905978 329839122 161920209 152786127 752286346 167955595 585832398 505681432 338111143 916289443 295249547 196227203 531997570 699192788 890109196 693369137 621892813 982259215 503460495 863168657 512321323 276474386 618731127 152523942 799754098 271792601 168740107 396766843 569730549 366667714 318599729 735660560 679634113 756406812 299609547 557756630 920572056 376985906 928081649 141018384 168321834 667318776 273057612 815552880 212576141 199404671 586991347 666957094 538043396 416363428 666929788 249345887 720630705 418621219 812803962 533409015 306717330 522795513 898460016 873562902 759716347 872763588 213652878 130006355 629095855 598696190 797702784 432135919 107649500 901687108 379780693 581833132 217362892 588144174 529851345 939184142 680808637 751486510 550408851 144226882 216047620 238861939 820657760 722905139 837682563 396847985 840333977 843247274 372233270 551042720 701373121 995594686 364162898 859585698 827101227 472400740 823542307 159615189 117286173 413201398 775230126 158521495 132930606 849528075 835737470 866079300 786476470 187769380 187304697 461042592 574160932 472207789 524663965 822091300 661401152 849303609 928441912 585713517 132812741 444759179 687061364 967512157 700743953 554259823 731724323 107026854 998176064 559666566 374244265 747927902 775994741 606171683 662030895 601476727 794441563 368802514 990441450 553470084 917810490 214987466 987410781 280280612 864535646 458591951 654198530 203263257 586624505 774446298 354103798 243304989 154250459 669201783 241664659 172238586 340169584 384449310 972605319 286268779 282321515 545686191 213514312 819619545 725254000 723234930 154789896 784245006 128056146 583403380 599280230 768091870 913751238 257209960 896017225 796200203 542368430 685127475 313684144 682925762 495914580 933657751 833227768 904451800 585152053 471568122 801726215 384193497 385390952 957238643 521367170 988693927 101037381 409540387 290096793 222966621 697405749 415141313 988771138 293461454 208169344 692785917 801015755 516906258 769495624 765740415 355536612 596846786 993822890 288213178 752649185 993407522 242148017 666609738 814292704 308317231 294247152 429952468 319118909 695799314 685967486 568945806 609125824 808552245 743171289 306368449 763507625 963962363 591535301 579209378 428119327 453522649 868408579 630634598 527389430 965813110 222844535 481712186 932973357 232335716 799613742 604488820 967635870 269737788 808745783 989063184 521006932 709088150 361525296 723635085 353541947 370711683 333273956 804729226 139876630 889725645 784493214 936233341 231145054 185889610 684165766 994748667 690325655 511776105 941081805 762464698 385612768 362304326 881711403 121032508 760360840 881931856 662103955 340538687 439416605 688997732 268251221 834161952 977190997 722494941 460480228 832796871 362633607 323846635 620972534 955563820 320529396 555689991 433178951 644682144 900597272 605276249 106876593 314443415 932441010 107660950 559215983 806306237 407881784 410974793 383558782 831804500 452787557 503805732 150451547 456088477 843818754 737033233 660410231 702464546 944677373 610988259 222232488 964276178 282420857 126573253 505387330 651992093 244920852 393509379 221466578 785375944 831025571 248828727 727627326 681545712 616252322 782711558 642923577 953190908 614939360 320613468 841036901 561518076 458073946 848610065 939673506 651184696 830028373 141570997 861540965 434259876 395488474 129433243 178991947 277649561 241869412 741374402 937260099 810570208 209100988 858562527 470921356 748092012 727603650 114201635 722140876 653833126 467331387 533020703 415436076 385180992 452769709 113840220 995284475 632601950 958597340 642984976 940345050 163287101 748414470 183876326 405253355 112680559 652867716 863789334 788268122 442808862 832541701 337454215 992654762 410635270 236909237 805832276 754245339 748994404 100753410 282117091 541232222 292085506 182473724 128582378 402190944 139571274 525138766 263305779 294141182 328265477 318591113 357391248 791543451 325831248 888598507 462137538 752644548 993002503 738643370 703547413 709283479 668696988 605671110 556520292 677271373 155822091 337046999 746959926 302006505 343089134 464414411 626358325 559782659 635993729 352692721 640519348 461237033 837010809 653550833 821908298 761272843 313793923 282516319 255489639 816813911 174183786 722726179 975959346 507159989 443364843 403368497 306022061 772927026 376808843 729000023 383723550 911507881 716804065 656571898 722245296 388132015 543111628 844503689 735605091 238210051 717073797 967205168 542196485 511037876 822542141 435024568 112074903 193411661 581679750 526989275 991067327 287742848 546467525 690832147 620015594 368488169 741872433 753581396 283859401 450757220 671014501 181575867 333221851 913917024 564093586 568992275 685619120 462527115 374720742 981868519 413711232 324147867 296968942 759632723 600869969 342226179 556016939 316322042 817994787 462055341 832584156 505650135 829875998 735355631 799232750 939106542 121624234 602531609 358824635 968748763 909618441 317267822 991278709 873359344 826530251 645557534 426230450 711460761 767303924 512984240 101521995 487664629 368966160 232566360 629964583 242211137 401586481 195806253 863228064 866096612 815611315 675029474 748807880 208877707 565962890 185350347 231866441 403303473 410339592 707268372 474352902 496329044 959985396 576628288 126500239 946954539 218318862 584111848 985075117 457044415 902600897 864474320 145382027 170269953 802405640 621839166 164858906 643550317 967548752 940782610 538014634 384422997 812904013 230514591 729886303 372226504 610934952 252818021 776750647 888848597 860632104 939706863 775720273 392776073 383025734 338845191 895772625 150021416 527944198 849309030 311865427 106452361 814332209 307306820 314583174 890690275 389286040 120361425 429986343 182279486 818517485 236914869 994120334 838092182 937241324 532865289 945480527 830659956 183923777 578678934 894578510 721296845 459479733 211971031 573855880 447695603 947081801 429126296 524791991 631524337 940809725 490938052 352793847 601115988 517190565 537508444 898525499 408123905 624755775 768911945 904819837 768053773 198487809 209591841 787456743 339119509 331094445 882315124 164459867 637501772 802429157 967419036 663686919 126888897 271556231 971758229 637462800 417815387 259599137 828364124 190264807 307532438 655721566 748396617 351168621 925331398 950957511 760169026 937390218 231060869 731318814 143817998 782108972 291445186 391551340 478083702 326120580 622302101 758794694 448533220 422442169 834969843 466425579 401439203 165756016 859702096 737844527 520932930 735863798 122846821 360969080 954581970 823480124 452086053 875457406 546868492 144159496 492175208 422082788 414372707 403223499 333754390 453730146 203901307 315144419 853244090 867325776 756782176 162011898 929585390 188252279 621170568 458286686 310257918 357791303 234178878 537912027 769010147 322595512 112185787 939836439 921018742 203819651 511581527 224072169 602532525 783215377 663429565 911746434 301555193 786503500 194296987 969250502 691872543 438918068 764840284 877895217 286924127 629014070 629195989 109015375 293756313 551593564 212132977 622344960 558758606 611971757 443247102 423125753 417571176 688257789 347945408 450086943 365680969 192601421 782355675 707407070 178632650 542422654 851143242 964979315 895004608 862130286 292794830 744462226 787701773 156492079 433350937 281251237 676675712 615019545 287972813 819492956 378618536 619568938 567345608 725674148 362653571 357320875 953814456 483955091 831511625 232021636 973484594 958549860 107625671 192725252 281665753 333094173 339525635 800725573 144701938 742122385 969641005 143863576 370165775 552169246 788437896 658085442 808237188 951811405 385729385 690819544 121992003 457475539 749588364 878014440 126763401 213884660 292818815 813552063 268437291 259178790 832609363 894120983 324302479 804779982 741652926 556574563 197880074 986022336 411698394 413858701 849642919 512460977 930582885 858719133 988775696 540627583 722296434 420371596 318878249 496175054 639088292 383154481 626639176 677156470 892115114 741418234 972988591 713975805 775824931 217084474 642400777 468576622 912515400 253944156 808815954 611262749 427820349 476036089 815704345 894079599 111824615 442224561 467771215 680610019 335930483 446341571 137736090 350701285 764214009 936980659 572399048 137467629 825485432 256354475 770319218 286744040 484555225 905044410 439330030 194188365 912564521 133865868 437980429 993246780 447283853 812446081 498658487 352249267 662069147 952326631 810348115 708840072 453876989 483725054 492134417 875572024 507718198 963730753 110861996 680745035 894482866 785099988 589026254 843200528 997591946 873692796 890735810 610232837 310456852 322722117 920814055 776060179 174622983 556800825 762178525 159806327 234363844 999150167 982799326 883208279 128495716 339284116 296621306 603402687 387790633 353242207 250719687 424400457 246627063 593296538 373192338 174846457 240260956 410456615 434188004 889338020 647186809 216351840 650235947 494793388 462455948 648554550 629162212 389173945 739206619 683272581 300029068 640113192 278036279 992067658 257770255 925961860 445540384 569280383 685494015 732974674 245733922 364316784 115378985 744012247 828664769 351415329 436292816 873713667 145097602 316803160 769317463 157888781 158491346 728852745 338225246 821668028 765729349 533359013 762293265 362256242 135535723 918052852 139990590 289346513 661706766 522044500 420943398 473323254 589165826 513611214 107203765 818061083 196695767 316039425 173766115 908615879 743839132 895758590 481383240 208776004 187935062 477211501 279745563 849443176 693054939 365562579 135474805 554647946 193957118 782200265 367886435 668308812 117756172 934899809 624627442 436389454 684872043 245385462 568168374 410287255 425150233 669726841 173296922 183992212 663663261 479313072 717404878 965961219 307210002 864871359 650043316 877032578 513475594 923586120 404548002 495513506 136055985 364042016 383962581 193707894 145103573 475267897 503544234 798231767 460556538 635653429 390374476 788259975 280779332 833829105 890880241 446209263 632991975 102117892 666363710 724009724 246810139 405875795 894975181 758647503 844857962 692811680 857346618 191438008 381828160 917247214 214038841 168316775 122696458 886492390 413950439 640383234 540657491 663016323 471639346 857484522 294473028 625828529 639174910 170793303 937468916 264647715 918304805 938650696 278536480 510617613 985778941 842723713 574002038 750617908 468982383 191525973 366154463 602609010 331790397 762685032 756612974 790018312 452060600 228792805 812797761 421398257 923164709 399176191 901485180 229304675 178374390 695140848 680550044 341136176 396796448 802527056 185264667 545125005 656829083 656203187 672760469 498452212 948328181 476083148 446116635 891019606 470245966 885581808 406714342 520931072 921396000 400743070 198799517 370196611 550231343 158895505 507479270 372269686 688747681 963889465 196671549 462099483 101202748 235850836 729820755 893983540 897289072 731454061 954570122 281699481 334961128 498127022 601759481 159848190 968074371 821314207 486346347 412714596 358775858 667368942 716966638 926597299 537568312 121078134 600554357 255460869 220311951 101025474 319924034 789553126 198344639 154987677 534820707 183242343 273778094 547256255 882551477 829088489 874251943 963962505 286244354 186589503 663557557 583065102 465750667 832635157 462742931 782879982 721949995 930829100 565540661 385761683 475637087 351250618 731726159 441131255 648057181 607442924 570731406 219037624 389679640 261230427 394252459 196314460 219132295 115743907 582468415 137449787 552957851 617651504 530542460 879933397 818491234 898188958 711051691 999703362 604055049 681169857 963058405 229106884 242517847 653036957 859102920 960302141 865875849 458892874 103483899 459850320 474753221 993568985 362899371 279559470 482140258 859899904 578140537 350076219 448041270 176698573 337033136 782854951 649536615 276915588 152051681 608876450 754595952 428303386 779981768 497862420 197668786 773376294 428091913 219592910 390586151 580418397 855190248 709120319 377948339 207021181 902095969 161856233 536512900 359643586 325076445 595101484 442382950 379118618 455226826 694761773 900086225 345304703 798059628 580318899 810819429 895360157 450248991 738891770 207551755 126736971 479841393 754605520 710446630 727615069 545258615 532740859 559437607 453039332 330725315 416309315 949685108 332775438 291245452 660166404 832786633 119263450 113270573 100414730 191895196 648286338 637419369 822142646 253155477 469397544 243810180 984331528 329634289 818135055 106602658 137373880 818572456 806119640 300952736 276598158 350685285 832362861 323533474 760215824 579508917 936061402 967423376 481977104 661385448 924112672 104745355 498459546 765463802 981511324 635998433 193223545 668515632 106594474 827027775 603126440 563219623 138529588 261226990 247473461 772935509 827686303 872861993 750634234 650943178 519214485 386114418 723953504 891350310 445786535 966006987 763948437 510332825 754906452 233248319 266314921 763923661 550145862 479506911 884836817 759201828 960096409 483783038 878009229 403756978 774893844 159063353 567003974 339286815 109054937 198784080 801028186 513852351 655556209 955811628 245561788 163964727 943832606 345938933 574608548 421145160 552652433 956488848 131433754 302508356 164267597 390808674 376125187 567794235 305253383 513241699 836349133 689739489 245616351 613581394 564579695 203834168 666075129 270578694 184678971 692764787 341531806 859071672 415632925 847212534 911856313 902006652 846475337 731241653 556687212 142566811 350547206 388421740 231326546 110308819 790095142 887364668 644913394 192332392 600304385 220442126 581957692 294675437 113207206 784821397 190736683 697309872 460600867 514167348 732499332 709318241 775833262 880219037 183267026 302845545 366343754 565782178 392761016 401931506 961237064 197527628 797351902 396041683 711923835 663894254 485071374 253609510 873474312 613318845 482414917 557040871 500677452 415887668 428652990 594577701 191504259 631931583 219959963 190348014 296155592 832983938 316711963 949876768 709255448 523641657 231608331 436506644 852575917 889784373 136346627 601899502 257263474 728833794 109163996 515319673 883735216 692658944 776571647 457469716 518119393 461152196 161195416 751053048 592847094 439859750 655434687 924315235 836207829 408311163 960171655 995987756 707412174 760374105 529097177 691558302 914213089 258691124 644030084 120833744 386852582 329144062 113883804 929068785 599705223 107257611 614827627 125601026 972452599 496820217 983192172 771830762 828949244 689230906 756077331 431808654 209863788 632125494 592553293 216367365 554577378 120889028 619863616 711428714 383215484 540509685 557127734 338058461 458749170 686260448 453753497 534824043 139559306 147132503 341385792 980932831 140555318 368271270 247224223 157076981 627096921 533368818 274142912 389089864 100301492 448432921 487173335 408944541 840435738 498295833 275386816 218933994 555537866 712239030 419231086 736418722 968160100 950235097 323614537 179820980 686190402 362702136 842602553 624338091 739659563 468732259 696890134 219691261 680889429 618059063 856414404 969506876 417986856 393676604 411480102 436562247 930421375 273111888 876553798 830980450 445303651 872182623 992003513 510200078 610031433 721844064 486018830 776609764 351443931 570379445 605672611 653616644 943044544 482695664 659001907 211683658 540405764 712882846 191395838 677187870 673592307 223887396 854820364 711594496 302397862 386188855 516479674 293156106 881668384 193269515 821367306 982250030 502484254 311303532 144073800 234031011 671331854 372271820 332214548 266570399 954771173 933260036 553435197 548860801 983034255 313286919 193110999 703173272 339459397 743485080 836821583 593572239 795214632 288049147 354396582 763318336 423889950 826579877 400008898 633785826 912480915 794973854 738065016 820362582 413130754 208463178 106876120 218444091 159734047 288176349 515769126 840567768 527862663 716879842 678374592 854848692 102305319 269444770 729324685 533210799 150360986 736526283 957276606 429925499 741388527 571184439 979714598 636395333 257010170 107724859 980850920 884030429 510418515 384760113 478958828 230494726 276246381 456612870 630919405 717162336 675557626 981747579 315710659 246240825 497577058 386572577 701109431 866247230 319400023 558892163 481871907 259029064 349814619 472593484 753565590 179380722 909099218 332475938 109340699 493448444 427953780 165795004 979322911 528492099 976077645 341186081 183057838 399283671 368178745 566290177 394915380 669971636 947404882 362373690 121782756 729754241 942841469 241151266 607151587 570664064 402777644 488307830 246966932 612563652 273595221 318647863 596983749 967028234 606472448 816538115 242800600 309965948 427867917 247851704 585900257 816230616 785603938 104845371 984839285 543927891 859972727 404112576 715986557 529481221 543163494 466281953 159159421 461914735 452358155 941034589 809085346 347582124 441825476 946140868 339134255 459135833 461455402 206265548 135707398 963691032 357554653 925809639 919924936 270683159 574600159 323784427 657212401 106728521 718799274 625616370 118964896 697725213 509684776 764850577 883610761 463366497 980757356 911944373 304870918 847662799 695982347 578356428 603040540 602370752 301920546 457659634 508480269 908615815 556962369 754499452 562976605 709890581 642646028 139218281 919911544 465667630 875226220 821231470 186246415 119516865 632425697 205757090 368587276 456549811 581637157 132806721 299299143 998228490 989448937 672734707 818654428 964255293 266227750 319087279 949899495 923434053 639631956 753394433 265428230 119848928 616726918 862015639 674638568 304009791 747748337 745037880 996594820 925759971 947087951 616660773 764915748 452599143 360870746 460772340 794126727 336571726 381748434 856965198 556283981 496977914 188869334 197454553 142003591 716877276 367020684 890996443 979442222 343663760 863164701 433525591 983618039 156010199 794316499 147430974 506407784 527084537 655574473 658350680 749966765 591594152 610589341 716410782 322543027 680924233 591729567 728382688 335834364 493569464 176061485 710846310 266376753 964711141 637123869 829110475 201477943 142698709 106358403 177625041 522329341 204621156 702295068 597544379 968455678 540183345 740244515 949236717 730091711 436348748 902029826 346593399 449102733 594404764 896616300 246568701 110560486 991487847 797492220 108811900 978147304 284479663 136111971 139738032 148995128 768356782 759422987 364975519 503445981 782410133 629354035 952844643 491738764 626153981 704392821 677242276 634400558 765770358 392019162 978102937 237347865 411359319 176937853 903205086 507889466 927702343 556808463 717011868 711423258 981778036 468486441 676133588 796542576 466229461 579166576 859709083 120791224 370092886 423729081 123836694 246356944 889661479 989462016 546912216 441337880 525910722 738482489 374159107 807640855 202048204 791231704 669883718 339462294 888251765 797897773 433637754 378480818 357550643 227962783 439902869 450152226 604215832 560865631 474367339 979629796 442914270 852373243 477676081 635077744 115173259 959671383 282372856 146882699 113865727 594342964 872066407 890734712 974685128 478921939 386713890 104206576 953425589 221277372 601966385 914253697 596525941 135070610 389845635 313130222 537679620 587250327 581387309 390050555 219234305 127972225 722966927 796485312 890619411 886894986 333854273 732674467 515366968 748941502 453293317 634336872 153829032 365122344 904129509 651253011 355842757 934976614 205013609 843813386 805710210 593798503 610122522 884518504 601088929 424195489 297383209 153339941 834888256 790253754 452924526 144972772 321866569 324511207 138905710 428084060 490225993 822071890 516819408 718564195 294522138 110082429 915480467 531073463 632390313 805462655 480562512 762274550 379201273 350798787 224088493 291544146 549687679 227115995 792513589 885891555 999505323 352217083 232156972 706065430 169293645 546763840 713384512 661145729 203787185 194198487 144542529 273792314 279773779 794379611 654706159 168547929 911540899 732321723 106500279 859349082 358592274 698805567 111913926 655696495 227637055 993914408 354148319 746179802 768099337 179967673 847498507 804580622 750045046 217973963 521534204 326629311 328942187 533958195 111531438 893759834 156216529 255605451 825285466 226990852 343075755 719705692 309412935 228786173 847828868 505305480 405449700 629032465 440725935 191816013 816727809 445454794 977954423 884295537 446637625 517836120 220439396 799294606 491911669 102587729 841868742 263569321 919193377 936013142 289478932 207121967 113733010 279450823 677328631 439507682 340589084 383845903 711681844 463002955 808887696 629388175 786832449 128494224 904510594 845669266 257741348 162154301 433718818 980713579 910683898 957234758 552164075 816743461 250135657 664870609 831067633 281432946 743178994 997452672 916647735 794908525 384567461 467083289 357235647 518372604 618171722 263838366 603749883 226719532 193827204 914707382 674982332 305286615 258095296 668061266 108896108 137350173 195177467 757728892 367948223 807847320 991792829 154434140 344974277 628982159 558832343 401033880 304203524 389523063 314045065 143266387 246812063 259691152 116319548 415878962 662426304 193175955 945507940 640015043 219968439 570547236 707041092 809615526 308919573 512204548 479942634 601168148 879688273 486736695 138704559 933823370 440605599 827936705 605745831 184978287 675876880 583829411 271308287 810802190 621488335 310689530 759237431 477199804 712580616 747232230 574839562 278868094 463222311 528196014 135029096 347166769 532872116 414849518 528705893 165695747 701294731 284660400 822942325 158114286 176423711 646760784 579408930 483109529 728949565 752892362 520537899 805532155 673833031 312118341 763739163 708184242 449422220 954879617 538297996 581142222 681852988 632336742 311146976 918888925 285207289 855726219 390758740 736083190 357893906 466425838 438803460 397206687 226405464 331454674 409196166 709251768 355363095 504426267 476313351 975052535 943253882 979251422 952153657 743330622 724491912 919820153 204078868 664737971 913343069 331623650 435473609 790551331 275401485 829554368 947758424 485536860 762125427 728287391 855366903 117436763 702805869 203809290 478261369 859267439 500401905 294778022 133915272 649774338 639618087 723196547 881066395 823907485 907037286 404012138 583480357 992677000 453130265 951785301 366803019 441433004 936284242 856173709 957720011 980457485 563099559 492995426 896976643 509539865 494513304 196967945 145019684 748256020 975585023 945703820 977704201 235363591 391063957 855835418 122072018 917277351 691808357 794452416 172921630 550256261 382479944 156921593 161341082 304981828 653587072 228095834 818656774 207290904 843481990 272194876 915526490 827327183 547482695 927988645 317969463 175675508 938851920 312801835 167858060 251169765 527355820 316165136 299499107 714213995 148410191 360205171 580997400 459070945 336516462 336065277 214072101 951659116 935904565 267086304 491347260 816660195 287503761 805151548 209337843 132188517 413576800 540527624 774799729 430368371 554217905 164154167 897075284 370649428 262169388 159742321 586011860 339662107 276179886 210759742 185911699 543051413 765350610 282752542 747693793 785794674 360486092 124073528 150503629 468121158 285279907 146834191 405461840 726350598 376827371 984481091 988266300 646486117 394388791 878878541 936862733 150463942 236144854 955371892 305707777 719957686 753324650 163073474 818154724 910152268 713943805 112521820 512419589 626997814 564381581 365055021 523679159 975960503 202879846 302900591 330099481 115514138 797522162 170346831 437923541 251905453 682471033 159833058 654180191 739689187 842851086 978877613 666377693 441237678 188182664 638205242 411960683 800464209 435447135 103356178 364288270 623058298 649553463 337155702 837392800 393612991 572233658 116647965 821850917 724085832 103947832 913899943 112456022 923501705 818145823 674520913 677263007 945216603 813117814 326812831 702927321 457306380 828441594 979518019 365486476 789090818 144060137 309360987 321934498 776160084 241443133 500779159 932357527 520489322 708034610 214866865 517002372 181001885 812048112 186298440 452106127 325554551 431716961 728081666 754413446 277923528 518542751 631464711 222445615 716631879 855455472 683853561 267721688 582035490 667634784 569841510 662574893 967153355 133385586 447260035 257969032 794817146 928436312 314832579 390576328 943363944 611333845 628253498 946037916 444625724 991122032 774042505 682200422 829333885 909702990 675860036 102395617 943173558 472551439 105545062 459324948 382731387 154640780 923202073 787891823 888358886 392453907 385263564 703512159 717206290 779202787 737590771 601871458 873348123 884672885 924352596 406009524 464926847 793719862 164667478 467379242 675256188 508631869 910146779 324471255 566649917 147529456 635489271 483799242 445294697 613075267 425058118 941222912 272514597 270146721 564086954 681711154 534620628 277988702 764138658 705114138 574916574 301180911 413109331 822472384 136345913 424557541 670211143 418608596 790114047 765906922 845143587 653103018 871283835 899187234 996338418 990561058 648272587 161606159 534992546 672169308 628482954 316339495 230036626 362251850 206198598 729860705 784038187 195741757 961436387 721739269 496790189 495606836 775819840 775563836 538482375 123437714 362661966 647886548 975694216 573658100 663457064 398635822 371001543 751184207 922169532 601395831 208727659 977314765 805634317 552666498 311881395 117370028 212192851 780641206 529548791 667741527 116153915 609193944 415579092 658636950 591458287 881648080 322786315 334762035 156494869 380622592 950436765 777758796 454967526 844222858 639967634 139526265 849420401 290727018 351572665 663848208 410599729 555673981 393294526 340907570 480327778 234233169 873997329 758055515 780592346 574928443 959221571 453173668 744254211 970807791 926016316 779808544 845260636 505044709 655909400 669486344 194295382 207757488 436843391 216374328 668102545 463297700 629738970 356412121 622552564 621639612 933802415 967207398 859506381 486806628 178150561 548616560 146196750 503121950 788324417 228157070 206717469 126889340 441992855 468373676 482216703 250756660 578453917 640359769 162061329 940311751 910525034 534175403 887944783 580961295 331500412 592407871 985249026 511321124 288270333 659954530 638484362 885775406 640391875 271383789 648594102 669560749 262790258 990178277 159397947 321033629 296464477 708512469 759779887 963744036 393683663 336226611 576362259 681115395 504272456 949490005 722918483 923567013 167262041 529188281 783372375 683845214 678468364 486888733 733459996 603907778 986329739 428776757 598844318 973754256 578820575 345106224 432643741 308490844 841620776 385369043 805583359 788189133 485220177 352004186 323086278 879754066 159412497 227398882 883780171 128826964 197792655 284751210 305577730 588428085 590419155 510310544 761619011 343047377 652842659 213700036 888926042 608884382 330001326 544150191 340907909 557870931 818369224 256527922 861492859 262564450 460639432 468198134 163203462 924472568 721851656 923122409 417646573 122857051 641576567 599633964 103077517 513746001 580268457 102233065 374019281 939120932 696022705 179294916 813520496 314548256 149526007 413233343 253345675 927555040 983019876 513478431 745152332 627627195 518824479 351326738 170897557 454714983 929695444 281767652 611530976 176438576 471954859 344059822 879005942 194273698 278905498 253823139 682871884 978408996 529851703 896224005 625041675 436560816 533555438 932990616 340433170 989964515 803175197 762818316 600279267 635507853 671826507 499038528 172577794 258887985 281135578 188417943 160627277 521702859 542037099 578290063 258663041 619788772 193630765 212941231 129700217 489776045 393470328 922148413 771945320 315417011 385021140 757068413 540678517 169559533 221440272 539512132 204856837 459602225 512274528 177688249 303847347 149607830 750165708 290589596 972611697 230485215 492042960 548699624 100774150 438040230 992709271 938008546 963540034 675241953 496827945 709584617 822715660 698191400 145676735 723427020 894786287 944616277 920389864 256063266 375869627 792480605 869479678 953342154 680007531 371832335 293585322 789688951 850581814 691212536 657222652 236491739 300326512 577826935 312718375 586312483 675444560 471987873 789936534 425400056 756160528 818797761 432451648 699081527 163966686 927123570 928569260 367078694 704775484 376059258 758997179 671495061 219740633 605686204 663563453 448761499 334943172 520204357 952339463 473380379 597971082 729204007 924105905 240751974 513075991 203265866 481929275 630351681 197133065 116513495 598057477 251910146 377452743 933284751 735083713 533628482 530619527 263473315 142605974 449180746 258624720 708518645 789580272 544066430 865520970 586635120 617201291 112543022 162802944 355149768 325420926 753838718 148327816 935417177 589722220 706486766 774893114 395682165 799197325 986525783 192299644 826260850 619715148 161626051 440200075 121279076 572556215 132423729 167104365 290296727 771733224 845643674 280077053 963077895 708757551 121960843 884920749 933521329 745716245 814988183 305845221 362133354 944248425 450987484 739908021 797026651 641761980 825657047 896241968 753572393 697040307 556721237 632044304 296180099 662851838 374606909 889392777 962134157 704118901 190155375 777926046 663526872 240684487 424467434 966021815 350523752 825058926 902274164 108563067 865726809 855007106 233543441 887239747 177286252 668617749 267618169 291685575 361183479 989557802 916295488 794124898 638381341 139954992 196093186 619962516 714043958 620621333 218300116 819815334 494254217 625007566 494881610 566315566 457171679 847716969 780802744 343682138 207691311 713175415 368768444 541071435 278728091 126633014 497570220 753481885 339944857 205769933 772879954 525493312 254712832 494178832 238230788 329179358 630164947 642402317 815530963 918612843 408809736 924011813 248739860 847988088 628309481 541333629 240348998 930870942 258265077 428467684 251961868 377456219 570714962 788519404 332100932 236020489 644898479 100717399 978212230 244545107 532344339 774878749 574753326 482879489 539641913 226218664 468298423 424697672 675440506 968992806 972874794 608656021 663223219 277566781 237494823 761153428 253193353 850984533 848556010 890313124 112414274 676623791 852031025 429236191 919061194 609899983 518353839 743220520 364584441 528458659 722274297 837919263 504616324 274966045 796228899 706538302 822383326 666042783 686218077 871526774 505342439 562886570 305649612 618775903 319918189 459680036 627269953 221791342 418592463 223994929 661114747 975820390 939707451 486921604 827214907 720681247 484080556 600624771 622460116 991078580 259120607 542690486 240986620 896631380 987318022 882340023 409420714 148303500 204679174 160750747 911022627 864940614 133772163 311952333 780772907 236070845 718834442 992442491 984351437 903408847 683206375 106332426 597115498 978292787 134894608 659893077 412957603 972579945 934127861 785677978 380055706 448532239 569578226 891364781 923303869 215938960 106813375 417684846 328323089 442791674 808608785 220593495 224165387 484725761 994958455 947974744 988928222 335148928 156443549 522532534 405460773 731487060 180218651 895962296 384023903 928243410 515115529 496017628 172188140 584975979 934266955 508892584 255408041 929542387 165704010 173609249 765380004 224953336 698528424 460597886 297280139 392887353 318669949 705028709 330386396 473141200 226159796 485371666 468660563 166010820 291346599 398850093 903849321 660358016 762861534 976901536 989933070 160538662 806085566 827256181 792775141 735443090 794959402 572506090 469453826 879087461 631848663 913920882 136572144 138293613 757212014 859695533 680611277 524458013 480797378 836514429 571857320 452610578 953972434 334773391 473685011 297140060 531041185 119281089 275818640 840939309 834209163 153774720 371936545 335000094 640976414 287896181 960275086 345215776 644966022 104731842 139678632 759005309 980589026 841239733 566276039 422830469 973874802 722336285 440189591 685734747 625416174 713728828 217387251 889310108 176306494 387006870 505468143 669260029 912705007 100544273 865957974 395233221 777993526 621169086 101768336 677461020 543946878 309654121 924741828 386426554 683488891 713964017 422526575 109173284 657208051 682170167 822373031 568744697 481743501 166190791 994898524 117951117 327024340 860243379 718031844 728713459 366169849 808123481 540202916 452796121 424842415 917644789 913883151 629006343 188048276 328835523 557568904 745357959 231301830 480176944 303743171 177329854 169373566 624251330 572585022 112869866 951038763 470600297 816993806 210904564 407571764 641162049 690423029 997363186 703086286 378453186 190817509 402994143 572949342 895465200 493587196 300806991 128778581 307846892 814369301 416049345 796747005 485446900 123635399 326901566 821012254 947384258 927038697 201084599 329059774 297349547 300541284 160609779 841408452 333612323 683064001 734848546 775331916 131731418 807553432 301581889 821386894 270332102 862428405 467296634 656839796 515331724 965651285 863430544 458972645 559252053 557953989 790653707 738196111 683187982 832487316 716007258 799748299 835330390 291924275 524284914 496182778 477013432 240154550 354287385 118643787 730195166 528915136 791505958 951290570 885014598 591642862 843905332 674864537 148723697 538137275 191691226 594431718 634986170 881099136 810646356 857331815 102428063 253463275 581095508 582908345 683661112 184021326 419952169 261869347 624962450 499047037 646764678 542786252 709569350 228621605 707066492 614944322 763044570 487288997 738480705 910193203 593425696 206277550 617519482 774216429 172845107 297443542 485002058 695664498 179349955 331381364 573786565 939775459 487818651 321319628 442445883 714891252 898284823 608533499 215754334 719894723 978091577 899962664 279794505 144059764 622333110 182511118 940113351 699775167 586730092 602522507 674176523 994989013 280847521 492204280 595704565 647168951 648686860 888993425 938713072 298146134 902167106 988348396 910937658 820833187 723770034 200144130 448169129 788829226 225352326 663365609 974829129 754662226 571232599 833676582 661006739 189071412 137149013 701014708 553115935 880893645 899713773 943497417 334889410 646583970 479060387 155126578 804752114 753968348 685096446 831976960 493812224 757418366 253490789 129645957 167855949 254319166 700858933 837409365 863266889 457947936 977725353 208370460 857351931 703766658 264143437 723901609 295739453 924548743 189141425 470874926 236841300 730763941 853620183 857076118 829659103 253150855 736420915 447041193 976876133 258733001 165084963 978573683 213790631 243177753 140432802 808553750 873637684 152448600 507510099 552227143 110263820 985829943 347433871 819934517 717609449 588456170 337217566 310915835 360792962 584639160 469723839 175117927 107977011 832151902 908124782 381500227 551733400 157373795 230345529 658340762 452600165 649151107 434107790 326518135 515055261 570251375 858218588 708850953 631381880 693938110 235673383 326727628 664860303 102995474 805828702 965716985 948662042 363289019 269263110 231344458 253084721 716039912 405815010 919314843 405864140 346802209 852190739 577694712 423933947 672807533 851551955 624762722 628985158 875358501 326004792 121502438 659986856 529697472 618739612 413075508 130959400 552084559 601823385 969295953 159524745 276078696 447224669 472929176 376105101 575980684 821015414 274454977 736422024 793009764 171027753 836007974 406382131 853245952 188427307 506611789 426321762 135690105 179312890 720595050 306584661 150608569 737285935 688348107 882868294 496518952 120766991 655488270 210682111 865635629 316681319 572202276 589561114 874025007 978638407 363914992 261267145 875219557 308709149 977862876 790605797 400335966 686639931 424967225 794621325 633330439 778387126 199316817 377240858 747291383 346392404 186204895 435017674 755647354 626428049 236861945 670023093 783649394 929279852 822906219 634294603 734294709 307317731 602379634 107838380 811377529 738994195 268244762 450779886 418562961 898005705 774110807 200743157 659137575 487416809 352134700 894314843 755770046 537716244 179277178 176530796 702840396 448326010 970468340 549032705 747547509 706290424 905450959 713661831 512059902 804968384 526218055 643403651 815203901 151196517 976053484 287043572 954808141 659391744 842748703 339442595 648055736 695417936 230942410 857226678 868745022 500073527 400395444 700177380 423517426 774140522 742962480 157853957 567999770 904526903 104419138 786916216 869088691 877537471 203409768 946376863 195767088 102589976 236096980 390278637 406005812 978595689 119350728 512831829 894599366 308678141 653065115 241923860 396646354 994942327 845553567 346150009 651908038 526196432 237500056 577867070 401505666 963211053 240946544 797782193 555841948 138096028 220793123 225076789 195574992 143186002 444819513 373555867 712666163 684548424 253036383 859259027 547561828 116267920 320043912 537216589 763241668 611076273 300607905 129636679 276902785 546598388 135265360 416336381 739314581 570306403 814884336 426969423 432997519 132410666 714792629 591807747 481990228 584600376 963731634 971217969 653554512 215240330 616824522 182363615 801605180 652200822 825963648 225920887 849276423 157287383 483853770 361205344 127495074 710784543 900185140 280308529 397942922 403886541 669381974 674060698 305459571 436675753 554619659 197259877 980147495 772200377 528931394 424271303 532355296 506008939 945555730 869452403 826172562 292431198 466235993 436925702 868097694 221453301 596663405 828883521 521984253 991989847 465713188 907217588 472062283 525183658 957842039 572316603 924680421 170195833 917601137 429498308 685360920 615228522 870264814 767135262 615913785 888305611 216408980 819137301 151127543 795164538 114583936 691196496 863305722 591665020 229825187 160944219 456959692 704843901 525048066 494850080 958761188 332076238 218282528 963737094 586590136 462617441 534484470 676420906 833115444 121824512 842713413 430228875 826728956 945406611 325199526 707548408 742111835 560057883 418552205 302234248 294241196 377376169 360376813 364245543 930729527 280019536 253877878 329051330 811902150 901887027 592072218 454605516 269335927 660857859 761197064 450696308 845512588 379429764 408973217 684602214 191335351 563350092 200963753 670455336 412441388 631440604 949169814 132997878 679048073 624501299 486525323 630696651 160005984 110961184 440844131 537778594 138105154 768209587 395394358 253631932 492736103 664855645 111806390 320761968 316709726 166699127 881533410 943271558 359374320 831494425 963080866 292555488 245727924 500250776 832849427 457081705 631740507 582254918 740435988 989423568 735901421 996706127 779907831 949723721 952986091 525690620 140571050 877684534 531961605 770500820 443644735 326953209 955544934 266617217 838657930 442915310 453147397 104952226 661969566 303141546 615138272 272716309 184121509 830806020 563299786 979903640 395956018 774363887 138385998 790683934 220301492 121120277 294875427 613963023 606234708 711229650 429003714 649697478 519680149 960183807 214720030 590388237 225952763 893338053 479129138 735870243 872411204 150510982 160250352 141393211 509923073 816178131 567044696 907287502 121235910 213453780 816310229 795228023 162788912 526303841 214818585 624153126 897654255 733020882 509919294 701839885 976558030 183307095 685007287 847096331 246921999 503308668 768321056 688297135 181579071 517938069 721217619 332291096 563968574 656426264 507832964 330080504 155487367 291230375 947448664 361921832 643031598 573219212 381151988 459432775 988112029 691683863 640827150 873250055 845627214 486326257 407557525 464873008 396140022 165746105 104801268 851925159 805521009 779830030 104271093 104491457 663298011 286071389 677010073 872431384 189745459 313831165 754460165 114949938 316624625 295814474 370499059 532629392 900103296 164067476 121882009 485599180 761036029 282661945 421657689 762985219 375756196 205356592 292921856 684444206 970790658 615798280 666390174 582081313 757287971 894104142 984891978 652664514 302318536 379029232 531558128 222816916 261995126 420120104 534241870 767716365 163353058 776652663 108473358 209655851 593886135 371018639 301068991 376176912 364569822 595599076 231444838 170717901 900368041 262290177 275816508 977274868 251440603 994717683 225315016 703908500 374832014 609371328 263750749 830503723 167221698 771789703 350504833 494723595 868423681 409827479 941446726 315457956 516688818 273608284 979909603 772727321 649268930 279821148 388515131 927703082 838976761 871555958 930152340 201739172 593918542 684463601 391875673 774275311 375358374 591945607 440925605 790324049 617263091 812536408 401427694 948959186 424674538 154190790 450218949 661336863 995235300 404679451 737876258 564944222 770193935 193727762 121734193 227634490 614469365 387587749 698891233 773102450 291348448 455661194 209282755 994477293 399948719 425492315 337114792 961285687 965778311 194913671 400527048 681099429 996906656 960118363 746656691 350496160 312639983 862393227 682775494 268451443 864845866 620504579 511866189 642241947 241999828 424449441 472710558 990209509 766920010 520517852 971365264 382100002 724036749 306078367 366555419 428555159 226548657 404767940 710044604 253618854 430855207 238841022 992049493 838709323 448072087 748789698 683115223 942293278 638320556 641517713 175068059 847701146 846906560 819563791 632955811 697261773 728552353 906021533 162244462 700024768 771357314 458052185 778144274 102695437 391522830 460685126 242753291 233925350 713778336 327802841 392342527 301500269 214445097 102050375 845293602 787655576 902253393 639293918 581094708 103603879 762636243 671249348 169598042 831188248 254508638 465133079 710539902 762391914 250400037 572673647 935718366 174577803 371335721 743284263 116546057 304691415 980423441 602702107 319985060 533807133 273699617 488120796 742917813 548409666 428808955 831804233 615114607 591272842 189471566 304099539 291962573 221708740 965594264 320787115 689199398 324002741 665721334 391309288 565537588 525224455 785835727 618001183 566082589 127995348 221704237 571437184 875655387 552511993 600441219 652508132 339603718 557651660 245353972 431792881 231664528 745760638 389846454 784189061 848934398 203396136 567732020 835770541 349056608 583730394 217947013 561628380 961105724 112616445 400392033 318811036 106520067 668959600 738717019 615656620 241682519 374442256 878640641 267701162 403204692 200260521 729114580 184045110 194987069 491112535 928281862 390726947 819154819 267051001 468827436 575087632 760685878 719276701 347252296 493517316 782726760 759127420 353972221 182184649 628593412 150599021 173082989 189904935 880799747 724651735 486479799 156815845 553412470 991393703 736711864 404803512 606733028 642505885 138445879 508147213 786309277 333579153 604128235 648728034 467606033 826472030 843549528 516233045 180849244 706669836 820268898 994091314 209163224 721355615 979562405 293255165 868912962 590695726 433439980 115228503 164929853 708859154 275123070 178180354 382093990 356793167 628624225 548272245 661930977 330618923 322929150 270716295 357889517 624463624 839139931 965924988 313540424 462790498 895713381 307268458 234702821 453996247 102740813 904456085 305902804 523328729 868966026 870882696 633127525 194504414 976866496 163726772 759608055 728971731 991937138 779340172 369428530 580127532 313858082 580241320 555685305 975465153 353342668 217400134 628903059 370510428 972820408 404873978 745801504 323455192 649736686 155500432 602397325 960818805 997107115 453261662 203034680 492059352 348162287 256821847 981143203 351411395 707400922 182355430 644121387 554609707 105954367 227890693 174730612 263645540 379521131 758609806 978500015 235922619 540454537 590664788 831178796 946947229 599946915 441411515 366246971 484156804 997670639 492395971 520845713 508412918 124274460 814553252 646640504 138899725 969847436 648690089 249465649 456115950 402647452 294181495 872729767 266765840 492905823 727194767 343502811 905891671 810054775 857946115 102043728 565289608 941520025 968483565 152630775 747580385 360328280 628364611 396381924 172469878 445324846 368898551 875617719 885921152 407708095 963060087 724126061 560417893 547208704 902714259 868000887 490713213 757625505 807572140 494330855 397383920 960601327 459483003 229765680 957066161 465578914 475144094 510729345 192868423 214647966 431141069 352646704 915837244 494455984 731217942 259008350 156390734 653484490 696739309 686905851 473743531 992599413 280412643 254825765 205622324 161484554 718499471 257281938 231688711 579968947 631017515 536777303 725796152 540935323 744653505 267287770 783499765 830641753 737753327 241654774 214564417 931156533 990305646 812830379 497993006 897683588 858873241 776372313 126892010 257292291 802288844 311135942 356872222 709099886 566993848 919541297 832646757 899945603 306896070 620034034 488985055 668278238 655532013 300552343 240433354 289277677 685373035 659341613 512122643 786428809 413188038 828625701 596501959 997742537 166625075 510127668 306687460 830035040 738475059 883157386 504313235 116006562 715163632 220697891 277636696 504209079 418309438 985648827 796931376 951111247 446429017 571773471 887384045 581707220 718324271 137328095 239846155 765687888 681685426 350759461 860813222 349375249 138668119 367986090 719979684 735886421 361438376 346335042 380010280 544494334 425590434 954478690 186789474 200984369 275536265 524583966 923148634 854232594 989167109 650632718 598945310 908227872 486465854 545192758 614535708 167162441 918947507 857536724 388656258 243922407 227642397 298661513 118544927 801910672 927396185 473532098 473020199 190126004 325508638 747492167 967149446 274682123 702718299 531696263 719035257 144237016 999479683 512818533 388838733 908736350 696412978 832690018 611149579 543905745 649389374 251681960 381760683 149846519 754629997 509754468 700348154 436463334 834397994 699943500 340057208 845443329 781022781 446272220 810396025 426766581 464384391 890735408 692060360 326337031 925900665 327146915 564833699 511719356 263868383 522462801 440289188 259190050 733886707 982443893 555189608 922559575 975229808 191195441 524784030 337948937 463589804 254900577 930028739 239203587 499397663 871720928 918691359 597355850 517156841 149023141 979781515 399138473 506406209 397455157 246524660 477013906 532094888 706143117 356415831 798426834 899541222 216170437 737334548 482095742 534070577 825499224 588147612 561050346 383925220 243243229 961128915 863965386 919277868 187130187 724268264 766191617 692242881 669477486 831361195 912213826 927197331 289788111 706116619 620794192 449155474 988444230 529382024 142750982 162998997 349442330 691763865 232607277 698334313 438054842 206685837 204976251 165568797 685047183 766538345 470595898 591237354 249593367 519422659 932027916 153112996 592486243 752641717 937654732 611437134 217908432 484323979 875685042 604569930 555642236 563502078 325284388 823154505 389121461 707391877 433576835 462286484 848864129 131285744 327142966 338817759 417103531 443899747 792143101 683964925 622419979 610906125 179052447 305137910 970383713 612337447 408071469 946069938 992677726 375799249 466372944 597414936 647298478 197309700 242370713 395624620 162361790 373181409 197890783 347654500 413673794 335160091 371330346 574617484 939491218 973785025 162429020 761131453 741274884 463216884 229613221 310273414 994619624 276754646 496087350 282434961 905982897 389203180 516764884 115736518 325863253 894007046 154565160 238511825 789485609 779837650 847577366 314675592 996895022 368402539 496620351 456352194 564520937 430273095 362266633 305743246 259231865 496151610 943891244 729951614 886425473 778574400 891948589 431021053 804965521 866816073 499405942 964317834 963194973 387570167 360770608 307075987 688051638 912939557 649241049 623528829 282418703 604554046 881202755 926297646 939827078 408700477 102966019 510915280 484260347 317285044 509395422 960576430 808185317 541774732 665936242 465135284 477686370 131312562 594599006 932130365 466005349 109768071 107235200 787240242 187158353 244734582 928090525 363659797 144530621 672815768 212022325 349603812 804526295 921532097 686687812 911142079 885342287 126152640 773545991 676299917 585777034 780343415 287464655 338973425 476383956 740829085 419491572 880626388 761783496 703384485 120031170 361771236 675775084 856202218 712322134 717639460 178326450 576465550 305943558 295544592 818939494 227011364 609696149 832989745 799055616 315308932 739209039 616834275 879236103 861371752 808994435 379642590 281680021 404897985 439375012 564941793 645044410 578108077 854331851 637608735 101686658 662915337 634016779 946868002 143856898 216630477 976826477 280295257 185684325 555956671 853608772 720236683 484118109 850238443 938769463 452127586 711096390 581579026 826777811 918784316 988478240 855504432 802568948 213118846 566740090 907441076 932135751 394766187 148812435 800589529 815335252 614057240 212974710 477761476 339302813 893081388 199459458 488475582 182242928 818661504 575957774 600340326 584105867 452700719 641562970 384583737 170179629 167763728 834849856 200531813 974929711 719455431 584967890 283092754 454784510 983495973 560146176 974838845 827389453 675308990 972707547 254623771 843968213 850857359 816975737 885506974 338019752 590900780 867076679 423170696 897927741 781339425 554371211 790627109 432831299 205613599 306417817 955098728 169264954 114071780 571564490 963944257 771638305 989071212 805380841 547204182 233189441 256455956 365434593 858493168 106345883 296327541 510160920 191121668 673831383 941559198 580585526 946181341 343887636 407838948 118759328 648843322 769381278 652562347 311447723 828849604 846549682 722012500 813295814 366990675 654847211 315261829 979881514 609736691 239299713 776950327 364771540 356484435 367694240 424799098 858111867 501229836 743338598 596446838 832795630 996230104 156204798 551332564 483402817 709878378 612803997 610448155 745090474 968436942 428660284 199510357 897547359 988646961 212871294 436013348 211684945 411873544 565222777 246533402 292683225 726180044 923968530 509474889 920349863 620636831 674669685 130258459 921900314 321744416 939344319 371285448 308929114 773213189 766762314 329606423 592427332 550168789 675629656 510771618 130719278 623105482 646982592 117920604 564285071 908363869 231867167 368229040 634263063 208773523 962711094 363405170 824477185 977588820 990227740 276289062 989290153 355393209 142936495 584408239 638738562 727594878 944763562 853062111 422577430 601844107 133117633 803832971 100900131 930516471 637754679 975539684 530441207 632974312 887778743 542216770 376675657 244389645 854786289 697379053 161658132 610407373 635977822 399520889 131205860 604221836 102260585 973633867 476453306 480370958 678443158 831188786 662633774 574035020 356087037 828814503 714466240 786160428 677593423 533968152 561115959 976051438 639802229 672271880 859381059 544234026 524793970 362779853 923152885 923169818 753015656 319652980 729822387 134095099 208136117 225449124 240516176 490237742 814890337 899785477 184884916 949556877 716621686 785667620 158409858 634367748 377081209 678541604 868837964 179730053 742389660 550050216 969006865 596593096 440893839 550555043 998166362 409813705 501375086 545416825 113719375 698851688 466037179 122975170 318952551 124223825 677053262 223980671 331350587 301956058 739105133 907352375 124509584 258880228 252693554 923252514 145014047 499489059 669711428 462400494 149779458 452434301 246347806 360560129 722190153 498335437 615407954 345882843 115307506 440404345 550850653 823817272 657868121 632360813 901032880 842161271 588305723 226176648 111008834 188086884 169221899 115523590 895114275 433593215 584645584 507341742 211386111 920031902 442052331 240830925 668409096 408826401 729216053 595154124 597676057 622950896 476212490 432105905 958753719 690027094 748687496 995170105 381807145 576759526 381660635 462243340 293661724 852210644 311239707 770551364 444056368 219102446 901728205 786574283 906966257 517834415 652415195 910345607 703227773 659463772 578493809 370846169 693011317 723484349 177396466 302477046 965085405 759318876 746412329 311186379 981751834 909018851 669827766 559891498 838802843 161654707 259528378 309354923 996773680 538112141 103893119 617996136 858539620 423104309 631811171 845698531 197069282 707350702 980952892 364758115 429942294 491267527 141583820 524879625 570438460 740159395 599849198 940951865 410717779 814212664 823076618 685561303 721889952 622728066 587088164 794283627 255823726 428982662 392668624 534506289 774935610 331574163 381082783 219744579 887388293 845149148 882249003 944840848 641273869 225137235 828395396 923457893 216683485 941244214 100297014 257707699 435567539 433915265 457337461 608111932 897990978 521457213 829488750 190006974 515571841 833505503 311457295 427615178 180942687 118229360 117861038 773375840 269461689 907196542 210973112 683031159 462508411 885433738 227827338 934217731 627338664 542562038 408614067 211170516 199953671 860829207 401545708 461087383 140089836 912794643 311678430 918205681 149762407 479339041 644495667 158251952 768285388 275363244 771020473 392785265 506989560 822300527 840596607 777854533 492213065 853326485 795033980 478921494 883051641 208718264 695886894 516026235 346067743 395885812 224822840 684646850 619227339 334257411 622249820 552885422 895746305 748354118 933354569 217028587 907049481 188436654 349664659 989617788 734638992 209650170 209700835 685134077 147263649 129623760 417528107 634757292 582464208 677093327 598649620 743782449 316034111 904678010 650822300 543870352 892415784 690313183 197425261 324536679 828453747 583924638 446993786 577251012 602867127 646784753 814758940 528495091 566514143 913985819 309587956 165933941 787327001 598570279 138480788 369077974 948827453 853637983 863986602 431882542 556888099 266401613 863273608 384734754 827475416 555064147 934165179 550480317 708953291 315786283 311518000 597845241 630319934 811956039 569320513 980925034 575754475 179895926 453746057 619869710 856659080 694616800 239242416 237206289 803024545 476897183 103597461 586798344 127131784 100884827 257388470 367483922 577690558 962391906 541621570 624937575 990328332 630110108 424645673 971576300 276080637 741696812 279716932 409473128 611015503 668060327 874770401 579286851 146884255 110869457 392489629 378185808 162968631 479206692 137375720 254733235 701084662 420809122 668786133 858364083 158729774 259033857 215281886 480275136 667715867 707061986 157220891 390112852 456328383 530878237 208920671 825915648 636565010 879974844 586529304 153127497 137687282 923295318 224798978 347412274 468605221 169057927 777349767 757624069 419552529 995981731 334838295 654119182 821269069 377717769 220606005 431507843 636481726 817678728 443321989 164660610 449864744 290214711 371701036 678167695 865126124 610103470 299372809 128265432 479519179 245675000 167004176 602297928 747837675 165740719 735886289 874475552 109553490 761743747 894698872 570303154 848658700 552239291 646620444 368609218 915249551 422382802 245301519 962720754 918077789 810619129 635449051 970194690 991293156 836138329 104009517 277538990 459851683 345938796 639341425 433871336 223052761 606169686 902356893 432550759 687866707 998324150 692547707 261042596 948663927 579582623 523378450 607292079 834841193 654226195 874440997 167112982 661845888 880505443 594592695 115875849 817674346 187809764 326070632 592751818 391677478 149451268 673364413 560077973 444018601 469356174 684490045 208691350 623486593 350598119 705553586 892346686 249011947 265139067 778771259 361029876 232802889 534351894 725158562 265832389 185429549 130821687 421554628 264884322 289172388 189426847 101695045 451110021 971039336 407664610 413125093 864269716 482046872 624667804 829261978 195088372 401295361 367738842 363846024 849903672 923878096 182075758 151815214 586930160 286064494 212040980 458454512 918156246 171505842 553879685 334047614 344361264 963609329 527525963 631018363 583577354 900766953 666012447 301743490 709075550 590058321 715617985 622330028 438537453 275441797 907867209 500287592 832594449 333004624 327829255 719282343 918156934 284569041 929029019 601055042 976688213 565751991 930441190 639792657 230033522 981889666 564782848 487839208 311996216 886498123 416524923 471405709 479778767 197288721 854530405 722998113 397444374 304196165 372007177 846070130 153397402 109560866 723358394 951565117 311897538 653933775 205195499 188688936 837875202 933989113 486628715 812835656 621127583 553678972 818629227 287912501 672552050 431062325 205625596 856957366 199728045 345782985 347662512 104166347 322539692 314713406 797190979 430153432 310936967 311871749 819465032 118913598 602161414 236954800 688053834 882891348 217302869 613910302 358216880 279580385 443503264 794619853 259523593 484730305 746965231 199518234 387959953 873336704 613195293 900340295 451919963 776352776 405483899 546507006 256227281 703466158 929595734 223522411 162719872 158183516 750301050 216160711 627103252 916964576 665267117 386701046 569156183 893496273 259234364 664519161 219551186 474676266 545308901 508562617 788525049 345946515 524679405 591377241 188597637 533841787 472278380 336620577 365239628 480206457 579561282 410330421 327820294 434338561 165101741 196368195 516071874 339350563 266777780 945525014 435296989 772538152 798693584 585520217 187641055 962701718 932239651 514804051 894819255 478443949 331813698 940617179 225914590 494162907 433945127 504181146 626494707 543878929 342874801 713943098 978784434 808213570 892084473 448343589 338715629 391929149 713835316 972760659 859824135 971552748 843096984 651909040 513962689 841315697 707081856 236926526 294971412 265933908 765459721 633662629 286400178 233093761 887923253 399642692 911729412 113912086 690861747 254443462 354633096 457404210 772535184 244429508 612368318 241112801 284689474 588765413 337405800 558789957 850215225 561235230 867835129 962808609 507298204 657458433 427822914 762386307 164347712 536208445 117290906 392135600 474874999 455148637 834378386 577564883 411729875 624537322 881266964 113068066 217694902 328867645 104751722 506015758 153743969 187240302 245917562 830931163 670177533 192018839 874492574 119587284 177248519 286186619 794063993 390265712 173491693 818490296 244661884 263385615 322480046 164228373 354924124 664461950 100955064 257981768 719759125 918154080 231440245 529659684 533583294 290830008 192612596 899959169 840604358 571254013 532103785 868376474 251557699 644300601 124533813 904041711 205565784 497915745 505264967 304408789 438426587 503974478 203673488 324163131 592525724 677897881 503437283 526463777 267379985 646801505 983790075 824729693 898104643 646414196 858232794 912840671 266915682 964116791 801951345 997266456 112195624 305147896 654053277 940789450 929505116 833413359 255137484 682907584 215612555 491962639 735432309 686431438 299007857 698716779 303496806 996878566 513621789 100993945 189716279 923921505 596812973 988532550 899537929 726378061 513164486 847012708 505939875 868707279 882858839 923583981 422526186 171840139 725240060 300236890 805319791 611593140 682793317 256453234 652868127 663826020 510727622 636458117 960522889 949682626 789868998 677867491 916760542 553344644 491350092 846545600 124412803 911583528 794113926 663618032 853408328 761731095 953020197 610148608 782587433 945918453 989590425 656088755 332809438 380670768 597775792 927216177 380347430 396315430 419415467 584982458 992889749 588894750 823494791 151536316 830675763 742956605 287024550 684889372 697818985 958857450 789453897 989566762 424298949 688725852 579601081 900990015 625072300 876107488 504803012 811969225 384564225 384449902 642900238 757690687 259562856 759634089 263372667 834329246 896312429 958553343 845701587 176700891 429773386 429361117 773675283 830674797 818862302 830729257 221113453 324932088 707649716 704665080 815105841 634795824 196883099 797975340 733433011 539945288 407290033 181713228 371679956 430817265 245522133 758934374 120699378 768936603 521590323 942054644 604062286 602865685 684682895 555262172 347504533 118510759 744822679 510790432 586409125 857780035 952522413 235784865 925654335 518081943 113427713 369183339 210763294 996643481 471339990 409869672 545508017 160879224 916118870 317424894 681828263 986937060 147921712 787651583 595071413 850254724 223665233 754913242 124452940 348177793 802856500 596990372 943243475 578319288 632987785 135354844 321504685 601639461 707746490 266924572 582044495 795725303 485319481 408179648 394369130 381293801 652800477 942493897 161586262 939955152 712863628 782780700 565509208 174645463 541763677 344801869 458732643 886217541 264605337 306011748 216479918 496789112 533507445 759042803 772500255 581054202 267289933 430585845 544721669 197428601 806785742 737155834 875602429 397989639 492603840 147010705 150480853 559717998 357865423 160312792 720845559 242608398 980912363 479112856 457485292 453190916 327839552 272295280 558301498 402400190 940539307 527475777 940132548 508367597 962098258 564600961 397910061 197696177 317932445 395723626 524486717 594666173 855250330 301915196 624266125 820506102 286892458 564571143 763060977 504032222 311257476 318244731 722583223 852226402 254720248 797418519 298055056 162246819 958987362 973374293 174638705 906496307 163396388 945820511 510236686 787758339 904943113 959454716 224680274 598785823 608139766 603551180 283494456 963059043 608220886 846989436 105919233 342872529 133130198 404935782 349245502 144210652 641700021 966352474 379973054 957516974 687306158 698650748 973875209 727519325 254741081 690653826 167384652 449367702 695194962 204596321 181488245 468551795 781238026 789640934 578520147 682614733 265465587 390181303 132131962 146692591 528403212 790306812 974745755 754836308 952105088 255449854 711162066 821919100 108415819 826014639 187216090 317520438 530766188 441124890 889203446 645595570 716581387 204848740 445960376 555645922 282456035 411946071 187940453 289061824 661703901 163831605 764318259 362858361 110205817 404939598 423255783 308657446 100288684 491191607 265294021 932052605 691405563 144098857 861911198 125473240 257570013 991961479 657750559 441290162 795705673 424378022 167085655 936469860 156480677 390682162 352886696 507290436 478048701 378698262 790053898 616604481 878223369 401125620 947902349 564569974 492334813 547823531 520495969 534463862 371631448 241264232 805278585 174710324 423317667 303603719 595237103 863875118 306029916 156872077 838697868 381621045 629375023 594443649 301293630 579544712 928077676 659804290 980905308 103283377 402768029 548924848 798636769 463011487 748800193 360064661 837602119 463764630 300874907 404259881 570409404 147575265 412176960 264079242 698787121 385568542 685558612 926151299 178934989 252547352 735414668 668465146 559963698 806521370 564210599 781952203 908288247 102211731 169594342 510842289 217516140 941985184 541568088 167127578 489420460 269373590 535666461 190354627 300134959 224877359 928750696 687623939 842965274 975215996 742795571 720674678 231295092 421779223 757141775 849998064 787292039 286920755 237172739 431587700 721519594 847996308 261944150 376383762 385669784 181349925 875621545 124746529 392366766 498681970 217959770 207593240 911452796 652576009 704367884 972296343 942518156 300811705 335562148 226324885 688151380 466659365 128237477 318172430 405577434 333388217 545130878 380074706 693014831 518552010 346865832 709874003 217689923 711126417 738083205 135075367 540978418 562551714 612594241 135697546 987663866 954061279 192145171 397765531 721777031 693871948 733400633 703386540 412883920 372775588 836975690 893505069 238852957 243111548 548528823 771136269 854133595 262076377 779155924 545496627 815871511 486825599 320268359 208529134 845766855 845736502 193200577 386566927 150870769 764653118 344833871 177228255 713480692 538808684 846306559 648426026 343525422 985068637 718663079 854470712 679260249 576596461 762015709 822043437 203513681 749748702 672798370 179527066 569240795 559834495 972654421 555846406 323958393 678770800 678542478 715047044 176040585 247310048 753338613 533750099 619767243 601337444 558886406 360918140 113485229 714411478 207554895 487480862 789707089 241161324 167168777 332660452 378058013 381338940 144357003 378069290 201211584 493534586 715126583 225738678 553362550 384672558 583538774 851373389 124604652 906506884 591648485 121152720 152627100 435270187 870653548 101881825 280914276 787666322 986111420 746099623 249963676 455738751 980037714 876622979 685246897 480545724 642585600 663475579 887469709 461462721 359136052 125189743 551942378 289498746 287038913 203329140 400776192 699890084 352274817 599887225 953195829 801562842 323170442 634526557 341466200 149210816 387880227 808306134 437932694 728211677 972009742 770181386 454915041 562490224 604041811 948948949 925276048 329964271 733058943 644045451 724327413 368307161 504904273 559221699 815625014 469084113 480896102 629980410 579380210 131380440 638488718 264433263 688138988 899732970 292393176 326259458 146596788 974849630 504850579 218631721 681426974 922483692 999915595 826840767 696046856 437846689 510510159 262851027 656083565 667488754 662525476 364786534 488884670 774430628 656363148 127851170 840499320 100812745 180124950 817217462 375091957 873557910 100509748 611454067 395871754 857805628 256734555 797210771 592657630 247669633 220072976 622312193 884790336 450030929 276624935 769182689 975541833 530187149 724335905 916049835 579150155 475138636 749296657 173494860 905865760 289286391 127289715 107627775 285830875 622693911 476734514 147035998 453873555 466343945 780447541 372229543 881128491 181058175 744729296 524360326 553228903 938161608 978699261 402719211 406818942 880828937 769705817 791861700 123217975 936176572 624737715 104769024 560017757 737295545 231744369 181099733 797864444 279501494 288768966 141853527 774238288 333419812 330770893 504768575 802299453 781789131 428302999 811879854 701681017 332297996 454385097 819379143 129403317 939541776 827999685 835231254 898031301 526254477 519016500 191978375 833278714 243586091 840766555 944102718 617951508 727824319 560910844 181188055 599705168 446946002 324808432 127992158 181025840 131385760 473461537 966127121 143839061 685135586 761056293 795112021 170555897 570149086 860177178 783145527 912630392 405322203 499455824 611563496 244369859 962715533 478322303 710490804 870991742 931725743 746560591 727539579 185208437 779017475 810369938 185604878 298891038 964935725 629990857 468001005 173314005 701202601 757430338 101075370 388287168 955941649 144138412 909479564 713791343 464328342 260628423 648015091 928408012 833575149 798361412 363845834 874246642 532226378 989583895 438477423 794368470 383242681 833589784 820165854 411448160 734590364 551361243 897857625 245281711 302044735 645307353 604964350 193613142 208148737 754360343 946499499 174035845 311160806 419973507 334959259 711436270 522664180 924462539 894730213 802258061 389377905 630106568 382717500 696485898 924528738 981557955 437968777 225963297 162045402 603632600 932184499 883842970 396593445 385159884 624279335 395049556 577613201 958941420 539299420 560172248 478125322 572634901 380987361 293543876 504134691 333542264 778101919 621181311 435842838 393992876 922608112 382084580 250295377 770750861 557705770 314680642 542033633 233293819 347484121 264038753 737921895 708823504 788057752 821772512 613608970 595702110 742050772 335904564 337987336 912632080 309581033 749350094 802523100 260481982 313799810 280875604 429918866 978400059 449773209 857341346 318422055 278947648 785478074 180465757 861775695 539050809 477467938 377955241 938128056 214098881 575321953 337365285 526857210 535290484 636080943 389999808 642035144 444348447 119226534 177869415 422818877 649753128 242873494 282068405 243413201 656566095 119737674 865465264 815313459 559470137 369358085 476126206 794188444 207153992 364147723 821072566 337687813 879476046 981061167 497699630 870526874 680784293 179107348 634184180 667979562 743651435 284197460 390611416 745550793 703581014 920363805 796733857 787048310 876309833 801429349 376712984 576774298 418645542 572681215 863208631 490063059 105312713 868213535 299568184 613587016 909023991 138394934 606196352 363766017 733411094 104304560 580379770 251169450 781675168 758356252 864373117 821238536 834000750 904567290 883603846 471470217 380760366 715756803 782289918 991641656 472963496 490381922 915007158 561628706 373438113 764533249 346051712 810636417 849945920 174046956 149639918 277860330 639621881 600144664 851478044 925688755 724926044 934879171 885835581 366997613 388259529 834749058 143464106 385815418 918979641 695271756 441593905 764956576 862713956 939293994 253768730 629403849 353373128 462181556 222454135 827084022 677852273 841513133 209498250 429524973 957458503 644160886 529542559 693985165 761947517 691334966 318933006 602807120 515677651 277717839 225588672 293098781 841837858 669132204 728819784 439687096 637233084 215150371 584300686 625972152 385236249 569075673 914311014 683617909 872290368 213119660 562926800 911200918 797846545 983564444 367334519 972802971 589935219 587914345 372195540 244654431 843014303 511334883 149025226 357441913 743384782 650017466 388566341 138996885 109232518 277469604 503301938 920806573 594659868 752915972 865929337 922765496 460201370 952320403 187360450 454584552 347846472 807446894 415557262 586439712 405814880 524725109 742022179 800186289 809184175 833993973 639277896 555934289 613548513 675667534 351429652 999618440 498062897 901683882 285152574 992063805 981388417 856707108 323791418 899240799 296897309 740236715 542127494 514695794 332719615 771610711 363346949 998479933 770849791 592548154 771327503 628375015 584958989 252316529 953664132 795412486 810913156 963389683 769790097 922677912 399268749 969171272 916149811 600324547 833756576 368081591 354261108 888624422 389125526 567074357 425436393 253667887 377751368 886348482 813177744 266069417 142276496 453176871 746971166 130687932 412700868 383902150 581242569 585333612 415782559 389330223 735910324 750260623 923801949 899927976 315526877 990554497 163208938 193554284 478667715 376825151 779653552 636598750 405906531 238340304 963756066 960227439 702746190 945094335 672768758 814820527 776681648 660478264 562512937 446284504 604613992 271591968 854892808 326753332 641653248 373797182 410033104 522710138 167562948 955757033 471120400 581553046 497326814 936096593 524931530 620483699 406346833 680307845 212281799 256380720 802664913 972052570 565280134 828976808 988603950 443751372 868623617 559762939 660237898 771996951 332894296 272982585 914375601 962350385 484061814 121028360 223500982 909734735 724261083 845405570 602854146 672200078 338878258 217210525 530551792 410368801 930014880 891091287 548411807 694017348 234049641 342878529 423578292 419346656 323975111 734703706 473765405 978751724 440634938 163056853 264410328 346570388 371326174 511797525 166189702 676939200 161444453 541122345 628547357 983048760 878214727 858287369 261963810 334360986 858300298 227106609 686297226 286817998 420042432 886538375 802946817 169748311 835404842 243014277 765718714 778804225 529809527 227618065 356778353 514209971 186229385 591141642 255171829 252631245 814785785 435836362 911835157 133244191 726890549 908110547 102318331 752476158 539405468 744774793 312073262 700552046 485244134 484044781 130866597 737892807 411329797 205389864 457258781 849940753 399685954 794363157 589164440 692436573 174104525 125704570 274749405 949298457 270245948 613594187 530833343 930389915 829560075 242977783 756564203 364869401 469800338 878512636 718628623 373115988 795005828 917319865 724134006 679160831 294741620 742516460 210665314 310058209 337472188 477993628 966421037 151944404 783510893 222515965 392951548 321096173 735018081 826816506 330754938 204083667 119240161 965282518 641652178 166036128 834500781 948232049 593567056 422513205 563782512 444422455 835963582 220423585 767714171 639329451 109353249 446319589 616125856 125681497 714837939 970945004 962197405 963259122 615768216 594321146 910836626 770791108 527476210 404061871 272288074 243529997 584695582 118756414 210603228 446278464 479646349 556952772 329813994 341096401 820458906 749983806 291848104 966086762 644773761 248383448 498543724 335594927 583373053 840242367 790442266 407639924 772228320 455648066 862901168 581965061 328533125 158600827 905576195 344094044 670895177 141860807 412788565 634919804 197384685 563151860 746286521 754541283 397377171 958753113 845506193 925210225 133787613 138756393 719473464 519707044 831644020 644425847 848414938 659957540 785656878 186304786 779586338 565909724 843110005 636384319 964079828 504675178 101177221 179628503 711270842 387476477 767794673 974083104 739791270 111566703 388828861 402230631 786112012 752879543 623376036 582691708 111682656 875638391 427668071 822163253 869771840 342361878 138554871 845059851 680118780 355715750 406062086 562287980 967906016 380698054 182774141 422670896 706593305 527308415 161426633 452964044 198570920 783875699 778149142 937389635 511095767 130202965 137371485 846309417 813809044 520241053 211948980 447008114 263179023 590215853 303836918 677999811 577528573 862432429 869690935 593444954 283870077 263247490 411636882 400949860 448830915 283925711 924719001 370141712 300779732 574879038 566372835 624879960 605388255 448974463 309754877 287518024 722301706 736226895 204601007 465389261 188077911 478762487 239198861 155210536 536225809 987918394 305166459 127398064 567925498 382131444 850352887 702319341 985359577 244739661 963853629 557646729 433885111 591072283 718724936 571763271 317850089 664723223 283017176 912204121 316458995 811464523 396658786 358393492 235830159 749108604 721774005 790915810 849337190 128758622 683851902 679716129 196287279 816769563 394320568 216897520 686515659 530337790 612432519 929047317 258864180 328241901 877979727 477226695 731905965 143588517 688808298 782575097 122046281 281145990 217016708 354234609 458229028 974955730 299018079 243146937 705037223 989357546 618930480 975474043 973165002 866110812 975984644 694391373 797972482 341741750 366688881 174257808 440717892 532404997 825783462 426481303 954227285 985899150 776742446 842246687 670500004 190342327 581334383 146583389 656653659 595631593 736145408 983834738 494241188 920748092 860572483 154328855 995448146 725567972 988431566 963526540 791318750 995922831 963101756 777497489 695021476 232559720 261239806 846338313 142234651 943968028 713166260 136660207 470909904 758977649 816372208 636035715 156233989 932785673 712556531 202096852 348241047 371337310 730959755 937085392 303719992 917789772 974477518 860359280 196904153 866561769 363775163 370889646 242898190 220062500 241863509 945056542 571123182 351152784 476209230 661567512 845792071 966871932 809160327 445878403 262462494 123753897 116206937 213320912 640282106 705198013 957439632 659773166 790295576 770483899 166078539 516592815 449893940 172744370 229885572 986452257 333905437 878864407 422192759 625624893 584097187 570975797 329922527 525878790 987508255 916196163 176023883 669679342 301273803 293492915 558808335 151319193 314783054 820747633 279730064 535472229 689131330 760940579 773138749 162211541 433567138 180981075 495105162 158501599 241104445 100413487 983914961 394458808 308026283 551029209 997214131 807181430 147154011 653108376 923263696 521294891 142860113 928269287 965525823 807735343 834346775 766758822 639298352 909888525 413081801 257840600 900535867 725581455 257916366 156629469 550215979 964000044 461539169 443976233 275952242 585010823 657663906 648191571 101718381 908650175 782645633 865746864 297564838 312899874 326042623 955386287 810680265 941024653 199951260 827264109 231775357 540587257 614419384 465657087 731543339 359105180 815832796 763946846 139929820 289711854 483633529 354214285 458627595 271105252 587385197 903687242 946505833 664353474 546292231 167691037 443200701 126860098 260241766 151726583 695293627 756444197 832291619 512418925 600468616 734614338 883160957 469594005 666745885 130030528 736846645 769085369 182097517 210125808 677924136 376207626 382117963 957327953 401115028 833069284 481465099 706547696 923204361 845842308 422573701 808679034 824089572 726000354 932081114 920378288 486948926 169423856 897374690 490114249 727271935 452657613 696920886 930813604 947750891 243339563 737044876 342316129 306058570 325812486 603829053 614755218 864943314 221202940 661829561 490478904 987018836 717307613 960216126 153344314 834338607 965742254 834390946 673191502 503617985 516844591 681769523 809038017 357670576 230724496 869512920 247092126 898872875 350259360 833255002 161225581 752945544 758177926 804231027 699451414 838622385 983925810 125869649 285258964 139097594 561059039 549730154 361458093 774600412 259156116 920718273 586811672 901674132 723699861 485409675 931900287 528272973 273046065 136986961 659108738 485434484 412590451 272068320 521869016 133746699 418988711 535664203 948154168 930481627 948983262 813186184 863504629 764223553 178168521 213215507 369438215 171221189 733949391 931995328 514691267 364052999 123630215 764540111 251634312 737598280 398829745 841132558 585343759 479135678 346186593 731739596 115466983 391380430 388333803 916058361 842759864 343962344 480382198 571794093 838346957 663824222 828903135 965514097 711489921 294225262 179168438 353906728 869716105 545623900 809918217 876319158 230024250 829492126 999449940 807378112 857736445 476496381 539006102 713891774 401039117 759945269 456774266 162714781 538548096 267081727 307989837 760300618 528646581 367966364 244830251 413966437 779574549 385432571 448767658 656759528 838322781 330436676 145895715 910027085 181781077 982612607 441419434 976186965 650584672 719956717 620944616 792846687 345284044 458234202 461570979 829174043 703730129 219874989 258358685 872113836 352817807 442123906 818323064 148010529 805307193 563487587 702250168 407060818 280362763 501719487 230384430 407167656 870442193 715819775 329525227 551801823 848552802 824688980 740096754 882480516 961894038 742809441 206787476 531700837 441497418 877190563 914936829 441421554 627903270 729165364 373325846 178785579 719401828 812300338 523795687 567988838 676530935 682508789 437293918 460831618 273752005 326748660 409325039 860121417 231957727 104475840 923239245 881433038 905759584 258344728 548656019 253509728 493740191 651917889 766075985 821484628 739548873 262186970 774611469 673990897 139057436 836026138 227642847 738927418 968256741 917605735 599639563 627551378 442725591 766172199 845910896 715035155 189849412 294374140 375154063 328447920 717561133 841445479 790050809 801323366 238658798 365379757 904825367 252491975 463711022 189967532 857646163 808539702 839451435 231001844 620724494 552806627 118694535 181428082 933050219 391213944 595613726 756536212 231868105 750569492 903054576 379794281 638212107 637981933 952162159 605932700 536724096 985445401 100137652 984646215 845557169 478621925 160188238 959346647 172517001 941775098 378241210 814249536 829004208 577806895 168143400 921452961 113095669 809090388 861628209 408709714 306780560 998093422 846548614 418339510 903982140 750050419 305066239 912776515 592262739 282324598 185351132 618322837 638344268 910463401 338601801 242786823 779627387 214551079 557970526 616011739 931022966 478038520 554812528 371924489 272608953 496283313 160988126 233091734 399783322 398265754 200133019 642314410 420378645 115353694 846928329 186423918 933151661 303669199 323568770 788484061 347983996 399157205 460089458 421167159 535966414 167109788 942071040 844976988 338330049 397783884 804240107 452438974 539504513 200280996 122651191 104476831 907819673 745463298 497782432 484274946 636344049 182207115 739935468 446621140 775228748 660959895 588259133 374538140 236718794 121665743 742035151 146303902 505136978 448436731 995756030 280323243 981156497 813529922 676498994 632144693 119631596 828027589 264864187 854696463 915296730 912578627 497632936 472202596 449522150 181418149 428447704 577919494 574976504 858936168 145680891 748872909 578162305 346537391 490278223 824698614 531571202 197240632 781877192 145288248 834323495 115360538 799812438 985952833 687187916 977581803 201407392 749531238 336772601 172056104 449603451 302683584 526737439 739974987 259718175 268379858 370771377 673849205 207835735 566261852 600081790 878996697 747831293 727477498 320017102 257953791 272283229 457364435 626634308 354670749 147795811 793185930 271417133 489865405 631437386 503819918 179740202 171322228 960972266 200501983 299217366 284638479 456012563 105624793 424930253 993386507 585971397 666963794 929155102 228560908 304420350 417438554 382527686 486042211 233514355 806641012 430387867 787151286 652477304 530206082 790424436 976021440 800071254 999631791 145663058 967457966 138149103 823709340 285024520 570865258 695941741 859898431 760106350 149024350 903777032 217557531 811759333 908016786 545472128 889938228 110031918 893563119 295944638 457360293 178356063 144002369 919394865 727946486 470457859 815006855 648768641 954154436 958711225 768289909 240247098 311790191 324885045 894211013 105444703 633610221 604919662 597917586 527788177 383757150 183687034 421556064 109258855 505399965 474406961 815672366 787766184 592517843 131938267 262992742 685046641 374275889 988528711 603283061 443626789 422201563 711433105 429269036 174285410 272749232 916343160 362199320 251223374 811735705 528038269 200167876 464052067 999156545 749288876 683713165 286450317 866853174 483050328 819826190 373713284 120247590 606073069 259493406 112164199 262696831 243007611 520346354 694557196 909493575 253705105 577533679 299566100 970125964 637090003 883357654 238524681 871154535 594495177 875888877 628683838 220697810 479378691 635376377 837568349 314548401 461515000 455231885 104999730 277931866 720135376 265288782 482648610 119697698 350907629 606603178 980630193 689074786 549961589 243227561 243967014 419682435 266316181 417257592 519658289 645105977 554307173 736809110 998676041 962540730 709478005 924122739 355314987 619326949 168687903 464234089 629930428 140106880 333718312 544500632 673372235 535104959 899651480 171488967 579671034 664758421 327484700 507030057 224309898 592879794 250207049 915934479 676921626 211785018 175856409 513644328 910631080 381292321 786750203 799327382 692169329 445148902 762640792 244373459 296555480 556146189 889518671 225106445 930890388 980736548 718019267 863920826 353891410 472104401 244268760 324657674 719347519 211528040 909412672 367575246 575347617 415198935 505395347 658267562 723693402 955717915 164481417 790032679 184677178 689190244 826114057 526239713 416714611 778956815 253667505 498719999 312044964 360506388 946715001 559174735 240993117 283944896 947515285 452000999 529241077 291968163 583157980 874219411 753072299 273978149 438293995 537899161 156415060 591263891 837841522 713679785 177900518 382054551 533693761 813530117 440013427 175708481 249768807 369581170 953510732 986934596 392446339 246051270 124209101 304540920 515614244 216174303 297631516 862496137 393663592 170439188 865284036 738354240 920147638 467643732 366804176 544349314 643117207 485115387 359823426 403178717 106084445 734646821 864837412 234261217 592760479 611612010 387058272 415934885 853073769 154145731 380236050 734842065 836803420 464067548 358801582 409087280 725883524 141778326 816324783 942031503 582674196 329652615 268274240 763122008 265324602 313511277 791370339 684229120 280757883 781079623 544363148 884052303 327195782 977473943 510406517 288134702 105065137 466741545 174257866 390661188 704629874 196750570 536519516 702637569 733842230 602932574 182090337 538215745 137443980 801565488 635325063 152701064 677230544 946324643 127195304 618225963 139622735 420572219 626208595 458466578 420069636 717694201 707105070 721502123 633788688 189146110 532334079 127201020 931957239 435247147 901919926 129065448 301002834 680807252 189636181 373515006 961130637 696383826 974727160 437348080 800623551 345518399 444928962 102019637 597188968 304612312 339197029 917914972 375778371 153025077 943535419 613906558 849057479 110021388 165868303 743557226 291266630 119233845 989697283 216132435 434536117 656314288 492231144 316766795 915839740 840284989 567027498 378247751 359554285 777401143 806163725 575458264 714605411 782390423 316160339 231574405 165244663 216824648 847205973 684406405 553564090 202248598 310087331 482659047 988815666 803900177 770933665 353560789 679646230 172617421 290063920 196626413 974062706 533256259 122019331 964497138 123947074 628046573 765013025 866373041 678333786 559148172 607318649 757578761 974483477 304247197 568863595 618597183 460581902 393116219 364258913 194261037 951520177 793133887 231622683 636396276 944515536 423250889 912370313 758712467 451516644 359376217 709549504 227073598 504503740 388249258 530853791 844073978 396527424 112254740 873622988 391623294 898638403 887771317 441163371 202302263 196338611 672899730 634889187 106682773 154447158 376929840 766168443 680242700 357751076 601182721 218854336 514059291 888321382 187308499 416202160 335616087 921173308 514185310 969688613 149066230 903112344 402892593 610691782 262077388 474104677 804374362 965805889 316859560 271569688 152434370 464498060 510473485 828239453 126593278 320328486 478644877 867307508 578358110 699134285 648223157 948022967 736807493 271486887 809904134 770421391 154895383 619537409 651034769 418370335 471018965 739738865 623136477 395922998 135337126 323318083 215604268 405952040 377710499 445245919 530425320 523545700 869139441 529559473 101980342 637335135 602871960 484623151 459415876 369921021 826962430 389884695 291484862 740751519 994527138 596477291 102688320 398534825 911009491 638916397 775110693 815437738 246492545 827447829 755729422 172884607 755086539 997778679 584973081 790820141 689552162 824679421 814326453 537400304 148122226 566376596 606577435 657287633 601076323 729964365 222929149 225746441 241942889 423817763 195559571 956869992 321819539 584284852 540685160 539980614 860321115 271707740 919972853 779831265 383920859 337542512 774476825 926874198 864332755 581469892 121952556 369868107 627251593 782575156 102093886 398378469 420312301 224989566 541764620 194392259 162191771 198155369 594669459 287008303 198198682 789268709 407962949 982981058 155497534 323301703 453394422 783708723 219619500 783107115 211869431 323381312 355311002 549775837 787367221 139736797 898631314 213987917 198374616 270523018 904755587 789222328 664716718 209361463 769050536 624155746 932604185 270326697 172433530 157732508 325604493 511117334 500704978 705252036 745410864 813749081 238233376 118742148 479572844 325369256 473603482 250172752 598753580 316437821 570119687 856836399 742095826 289201529 710352806 666949981 611362550 888519840 507581706 582339123 788286304 962851414 503467770 437759957 757501816 478249182 372565086 142713450 952472732 823784813 261841310 626193391 149558937 767003051 982475964 524072624 600699650 199496982 608514970 818179081 870087853 587518335 821437394 729575005 890294771 132166970 914203733 870548644 163719588 707323565 348639045 940832796 425049808 338343861 138251143 386858709 931592246 644198471 545182470 745854006 194223507 456399527 644746466 225480406 752333155 447462255 885772749 662655560 995273671 340519956 428394154 391947447 375321126 156857500 159866141 179351747 141446044 605758809 882367380 954198684 374261851 475962171 545678885 694910939 363743401 280547591 530968073 154484816 947038625 427383340 180218221 163631614 592900274 373841107 384838197 247866623 648391555 619199857 876135525 288649362 734771706 144790888 437837528 326702483 549451980 124787148 761413868 653907688 168575949 766523385 416390773 403637054 599194818 896251651 331094845 534765754 878268120 490898752 562658308 708237280 232457182 982685615 854537936 343005228 234517975 662256140 682015290 215530851 547634904 236794633 822679024 137269134 715437129 864591177 284718673 569801977 948981428 651405897 978486843 437318568 274987976 513894380 531811247 491154950 508419874 857989620 104137940 392345804 187131926 632945076 366195559 877479263 940035505 871463981 421405211 272518904 972470501 810751392 791908968 851387904 551176572 885220615 422074096 433458210 831729727 278603667 839814940 429084722 126700311 554298416 260111987 448521523 996825917 350342908 748317503 785025701 815773645 160306241 310869877 898887468 546416372 666499355 694059622 446934274 378269121 280242534 891657590 711962709 770539742 740634150 795299097 647164481 889481316 697103256 683197044 568038654 653857577 581709701 128637090 751031903 543581561 190483226 210716521 793219904 589211331 344002815 755725240 760709070 154985137 447960900 644050174 722495383 441316263 932443938 911119641 944298966 145998181 381913738 978226528 692061825 873975113 535952639 750107498 324693386 858422879 283269895 702791146 438956733 815221950 892314860 494056490 119383260 354081898 688257857 816109212 845410492 490024899 881033541 331679439 250612874 783925805 332765184 747526765 260176627 427155226 107463924 949586296 478784289 972831779 113716410 956733608 419700153 922234294 118479625 250022501 641596052 578756175 125945443 139601685 732915016 444582745 651762531 832341740 970905121 404039033 545070490 324768544 585293270 366131616 126344062 180088773 159980594 545817967 968239874 291685813 207241435 132991636 359758486 994761516 172165942 374141182 481454866 999218857 829515892 749954226 947607697 488935359 832795318 688360407 706647819 867152122 901021078 277464379 139446883 595742758 531513711 628793306 770156779 911053788 667601873 303528237 982889825 252757529 755712108 438283344 451633319 228995126 240751857 643721580 321249865 827270214 118282085 617096597 367745224 860626737 814360742 872527465 134491464 960929534 929394727 745148892 666809703 740191384 729627951 637267902 953996958 933587556 784847454 452986238 570067875 811126720 947546573 631059968 351670445 480786452 561394224 613987417 852458325 196618364 156348538 527645770 842468968 971203360 512082938 165146087 526895354 840075693 343944720 238602821 776068739 774838916 283890621 202213206 215094246 833851814 561726103 429577909 634624904 892111802 685504929 789884735 783520023 773342766 943286304 626114919 438698709 336538409 893416652 341246570 554045965 530871059 205678772 906228898 788824844 602223822 729331388 585938026 833063459 147662197 151857718 220389648 262967466 196776980 423177332 230137616 312077303 439189648 766958160 233689472 315145682 214468206 828343408 620223079 813042698 416681235 590587994 521241819 217653303 714263248 462138310 784469554 320864239 941495301 277315093 312688523 324960300 479785588 721903524 592346698 898821667 797406450 204613458 664157629 812002376 382924472 300125372 649127032 810137070 179457611 640601854 757855946 517030404 740206680 343165361 531062563 873823248 812158444 863412910 658314831 258979492 833527685 698763601 303923226 221044119 343214739 267134105 186890540 286584069 538240119 631615146 282492358 264025170 826007527 518141072 401874457 158956361 403928583 451968742 200545456 112147051 934738582 184376401 540432418 198420757 983950329 221000813 321421051 131113982 913716722 474319253 210276814 118154287 568310525 761890831 871851877 699933468 398610455 443033879 128932793 225667815 576039384 235921437 801723404 727096268 688166767 482637748 596645489 922099103 421782457 754260801 318956213 965622436 619813244 165890016 430359120 465733792 404230468 719585503 750749134 255312078 488484716 133453442 323659341 631414896 934508694 567896663 548182484 574705028 703134400 750891137 251024351 301682908 969251246 949677210 695079523 631615306 116807148 634492164 232319225 934880719 342142425 550545221 990086797 587287157 444094779 167725506 432496192 625430864 306599923 487741870 445762245 621383193 208884641 147328696 261659349 194307875 220611851 159124231 647043188 293538451 868318997 907573554 200423983 487261991 227112921 240290923 463415438 667757868 326882697 262109362 351516569 522592287 495137154 560191759 349235198 437915163 736791748 988673982 264800278 461496523 646217113 220879539 985392967 928263515 793783717 450374575 727254549 146625929 947290365 480010865 934178777 718261509 760670477 617034412 333827948 338856034 876076348 872823087 535268659 498797988 205067885 777484785 654099171 207994598 681826450 235608434 552054686 662721843 184711091 478924883 636654692 822885309 923548952 545042574 214512584 825824602 797470065 733507555 648542609 818759958 448469060 641723387 246972217 264127515 914725329 126095089 402701828 801669658 121120590 918206205 506682537 704807863 534523601 472428296 439604652 350748865 212747884 944464863 393063545 694123348 693098868 120719969 150614152 847120748 933075037 344868729 155670956 992012919 585683717 674156040 398403239 868586958 492510270 594078861 507684507 721615146 280806499 638162037 603607839 355880882 619005551 137501787 746024791 481242998 151635776 494345200 771489565 371973748 464889906 352140039 896211283 565761922 464530649 528663777 632264598 664741628 151302820 670145228 934086043 926863899 328522146 109022251 608454236 127373185 678834598 638650244 974597668 976801261 726911358 789212153 760881642 582417850 879119815 215633238 564455697 347340907 827343709 606766736 553690507 360824789 472943239 985294740 259000807 309506277 216736073 538918504 606776943 282666762 591230738 194413160 504831300 464144211 593847598 464079804 112774047 607668361 461382153 490549649 612515755 254494112 142653410 273154572 771478051 855298673 455285808 891862458 391653442 137018522 477381758 712049496 707310185 573815842 173830895 343789319 122098071 350825990 714570840 867673408 545067577 777373289 942691315 942380323 362377684 212661055 677799264 938980405 889775873 717810015 251091758 627211863 360208537 874284023 827155217 106924902 831462321 627987886 849362153 519035682 411779579 586314326 679662348 600593318 621566095 815409225 544877968 314278425 762678274 599179781 621590329 883240710 403122313 727485452 536530312 634630054 956889904 118680404 917228380 980865911 151673503 377882268 772312946 770757329 600984565 894025992 820154492 629104073 401435588 213293193 924382222 230114763 453953103 593640629 837222437 478268631 799454607 277670886 256882532 123216193 384992063 213221083 609513076 899027723 335206115 686373178 483747282 162329301 455719528 350252484 377947881 559812672 280120155 399816936 107448196 916195935 973051543 763989017 240672999 858455338 613200092 405399772 141429228 326516201 697193933 944832341 467688460 893502675 911077327 337538078 378957839 126767317 704749385 500049187 234608532 880933778 539045478 602020411 740500430 219494355 804646216 834815876 717943480 439988571 840488446 737378714 802311618 171150650 596374408 445901391 164242765 281651981 271660762 592717788 160808010 310516524 619432761 728831100 972458068 625925066 817173497 988310456 300958074 825828767 476538669 999442578 510352190 414709913 873621974 673699840 624738656 741644229 529704556 199708517 661251429 639173510 142744838 870572757 387087535 910050577 304691072 719804791 817383652 166869345 612643256 878714145 806461342 905788429 712547383 873625193 701727752 625143454 976326258 696207195 984440653 423466408 407680693 555945682 355096987 912629567 517972861 749709547 932359231 724170827 742993440 404012863 982126156 752621219 756832683 851422881 402169408 477799902 783638468 446914054 607157510 953091924 377631149 672350970 201168118 266122513 848372031 659932831 786444777 266016860 616167107 107897101 208775619 490990048 150346748 932195393 647728955 888159167 350202855 567846544 997654308 843516516 406519418 470902823 304907298 541672933 386366589 452978630 361857263 278473678 660128937 834208751 571454446 767912375 268552112 909643597 433337357 238225936 787974762 295923837 347149287 550999816 671227305 939530180 705008971 804532987 670467526 539920423 681895846 211852847 360541473 777481240 178446632 853035767 385678146 972947365 365678817 731629931 640622456 421750205 689059471 664238045 511759930 423282227 234536240 232008801 322066213 925071283 508130233 111154718 713540900 166580779 168565587 113464595 636666525 104847463 331065242 700235916 392556056 219141935 989842519 801946890 365655820 487441364 703017315 189523502 594069967 295102595 987321891 514739105 863242233 409716046 830142995 225625406 564775909 623534364 534814091 753260116 398477988 222458705 625422561 320199787 784945651 163054220 632881564 247209744 550692406 417032515 357938764 872842994 478332610 582369657 177334457 819413037 299576248 309043001 187339146 208889512 631156993 283207005 629584084 237551189 149967224 657680246 923761057 869186676 480969528 252550268 821102602 873862679 203319971 280036250 353058515 386980100 547953897 895592327 174935354 973727635 236743884 542334212 599152979 107678424 693202998 270163501 451323301 565863839 220698244 503148784 789414771 966797020 921220263 862360791 251312307 215595766 144392084 461406026 204435413 746548219 813757848 803042095 611419500 883096593 230521497 347687605 818808178 224154415 691241712 657775686 194538223 946477383 628827439 377957251 951208428 497793980 972916695 154995949 779684513 784464401 321636364 310378995 967597394 712872874 911481383 207175940 147702053 926875267 985168130 372072128 917980452 262287790 836969205 682402011 253184932 250824121 409981496 187687903 828089905 739836560 433639587 403015393 212486948 121705216 309870274 291689876 275370006 210071471 874121291 710010436 489036053 812471296 875007894 537804691 432174434 664312557 215742990 132991165 787017412 814573202 938987157 672022818 211789203 791346662 318772071 868852365 464545385 495687836 154567449 785846890 638551559 714765970 387289726 323159759 409252796 339033752 199073090 978460995 261000303 760107748 971665760 810927513 460530735 155778199 633248794 896469701 694825378 611358349 690001880 625411426 218747118 449149356 144231942 131132452 620088623 500900623 151188153 807184174 495775530 131052128 808890742 116783857 491787938 857122112 445814489 727647425 521228149 944610297 937558493 876383748 694150086 303929606 257203801 312967286 167210335 658930622 896429560 185329235 887631495 764161401 941209907 456758464 607570056 528670330 467643702 922789722 181389993 237880631 853114439 460223986 915968581 507965767 858698975 899162643 310331032 496372537 856237053 155863127 968623832 102341265 123772654 136831362 947257741 954343021 918267637 600050817 556978017 245922480 202831468 101706982 597784959 669527878 751312836 873724643 943888984 913463002 665448405 506628318 175972653 807450786 222344814 917015469 690262505 229704592 537011963 848146624 885176139 491590360 183188867 652837506 688147254 904974222 856494377 656781408 700444534 680757242 361308663 472514205 188849371 750675389 892832799 205829115 501724134 773982224 976394725 869255330 135910351 908969258 644231209 356954281 679865412 864835463 449383765 604329370 959596307 982390462 882738067 165235932 948811135 407826515 201786879 123389051 449254928 995469771 809018522 201596419 686269072 317047999 720241262 782414416 512372031 292337965 645228352 895226700 433591751 823935276 196229716 843038350 193811932 699573729 246500094 842722150 197646969 306894560 365637837 239457882 159821928 776975687 789449547 313131483 556884161 762410705 684250017 990447601 719781383 439678659 733760134 934236801 575721539 737321126 179832860 581707940 142658483 358093056 848526061 700668517 942954340 216681262 738617397 455633210 836194522 497055287 465440192 481951571 787334146 589186234 214589988 313385087 699082852 374103030 716326829 840873206 238724375 425007299 378504008 907310601 848065787 813210943 686460185 110976547 334246135 714174907 110613838 625359510 842183370 933888897 339921534 910962615 838501140 864888070 841799150 598200248 938194890 292167930 502936183 569375519 634269693 531914040 685242325 659505166 891674724 588860334 299327217 731916512 689523941 254953940 405589518 904321788 946056671 188108144 688527176 707861636 600746385 623933723 509366566 973400655 817050194 722125897 389037769 329730524 994233881 426360329 785306119 399334629 222390461 115535383 752229027 974671384 504726882 855917941 994935253 213530658 392030933 602443750 500112638 118478870 751880763 420345203 939469526 392264599 725318446 614230824 555926193 682299848 661837043 895571213 934761544 750223943 520920313 259567871 915943139 852913589 720607427 686282843 280293626 896796344 304257237 215221249 406238009 271212253 587600206 278206636 891768249 223674905 494834185 241776255 569169456 941206231 805979626 283043264 336634564 926794001 187823862 666395299 753356449 474383050 487034931 713665725 685829921 538953797 279197705 430821839 276093653 754640359 442102701 626142272 138794074 743895311 850500549 272955975 268135529 220025601 789097368 521959300 985889361 357855533 798472088 416683829 424206234 525114651 103086027 415383882 571619296 399109453 543032252 193663598 395975942 511438339 276267907 863017009 664764029 726368851 483241940 375358108 208519778 220541612 755170561 253265788 508619502 307210645 400829327 401587926 828746668 571003347 116315668 852768465 282139660 166581674 862132542 211957065 804311203 466897440 448039594 157368494 584559883 971293557 277348591 560244925 195891267 819066338 121431801 365350725 614679335 503408536 207618879 955246808 607249956 809557276 353853613 689147368 131346517 501692117 226358917 991479174 235937079 811182682 456386971 147931207 713244110 440556587 111898688 977232124 688306916 211116701 147397141 457331182 840294716 972367130 515769888 102473335 829756382 447025737 800019490 450678070 761458417 894271074 216280428 379653783 503623314 607454333 905205905 176477921 890415621 501099857 455969170 542459299 476695877 196601277 672874034 524904805 641533522 118133027 780745311 381445695 259000567 436784236 692751814 835742869 835588059 873639606 528950891 950780928 779780812 960490152 695213605 690868938 252338644 389117175 205804503 168647486 784532098 260671063 273712180 736449614 539646110 268898835 154111848 347827821 355485873 159867557 556997407 876948346 908336622 201828475 516634639 608574391 310647507 434755645 704192840 187894808 447439125 930031068 908369214 737074674 883575268 831806773 760422423 776869980 590345761 272719135 337940877 161493674 711265386 743076341 140898878 680092467 664953643 708234000 987502457 786772570 415385568 207889998 359709617 967075664 689581906 425069943 481802187 829466024 965152660 791933550 416756022 806615388 565441831 862833033 938189513 514331913 663891876 551157824 552569338 108463287 898870827 312596386 161517766 668019200 131893091 783955441 222819329 643070162 524787286 317960869 272282499 837842129 278932250 239961718 899484426 179521303 627813384 778048383 886742340 540218346 525654145 710170550 794413473 403183091 728127099 350631334 444439341 755114333 453234193 272199104 973366568 985003185 696814373 893899864 698867566 872977072 905491786 574681607 806664232 954377287 826640426 710523058 298448784 968609688 656820877 721806132 557959486 817999937 821818838 966676272 618686862 719737939 500135089 543930880 302152207 636600535 949841010 105831652 369151522 451758856 117838494 600589769 640211273 248356006 655376114 580006326 407268870 556487756 483983046 616527922 193859285 788987782 682236550 845474353 307660837 540659470 866615487 861022188 501720665 709500261 443198041 271015957 378245510 234369879 249525647 464936636 697931693 224469450 962191867 131932818 899059768 202071693 847404225 853625926 372027407 175915086 202669118 202457749 665022814 194097760 500681425 817578229 564970564 208634130 504897224 534913136 854900009 902327063 743448938 314879083 571287977 440151058 486455582 258117138 129916742 317111998 295014127 925065036 208592586 257892823 213763965 316674995 440090450 502585159 268937812 901098352 934172567 970835764 791400669 255260080 297916038 511346831 552482201 358813100 303020711 295428034 578346098 876278226 384276037 801849900 931193086 420395063 326206711 824889204 581262600 688870935 261713164 985441313 927089899 820922588 266005597 156164359 117323593 137738716 754222278 574962283 543893515 502794410 938274899 594585802 494147246 765041189 232822584 640012060 376442571 452238998 196000961 885328700 893989153 222903743 606233181 236293119 237726672 654460073 572016847 814232537 963883013 782421643 349567811 393086539 504269004 871912537 908969497 118102140 577173517 584609417 520781306 761531822 623902919 501306869 577800772 342431675 943494161 199344692 540844379 231587685 522630218 659679006 332646105 765708830 176702523 975306095 614067335 656159154 196635484 113138580 407622370 274462180 598397597 254042784 799483787 709771572 536946087 339442592 881753333 145339276 485483512 994921614 132966876 379234099 364493808 480869209 549225076 670606879 818447679 906142759 349349411 349207050 692721022 131120556 197635611 684762437 998052264 796728444 442481234 325958392 726786710 805918123 941469039 558717557 951960366 990717345 209662349 297425297 720999566 175522356 513485920 746362340 585322707 556120544 228224145 275997412 654929889 494290338 833342159 943081860 373306680 669801989 167359064 330723258 486159559 698370056 578160241 981644764 718006025 755957342 309337170 961392709 685066757 910951648 716782017 843364232 987306302 762747209 383182534 252794749 750736749 344725573 904354448 674173903 756198460 616992208 333517721 680853718 720284852 124068094 716785529 825027891 963610220 512989583 116192599 741095699 177439097 712198050 183183647 641246539 965578884 893266346 313747629 581762069 684491377 628218668 795967992 252591987 302052532 947382297 214189713 850604673 933094406 168481073 918889538 824095709 821557353 785494848 108900958 183899198 189642405 948482560 338137267 862914606 325785160 671666985 481165726 484694717 373153229 820069999 784134889 980896252 404982324 219041331 991723580 795196949 140009412 440626039 794393702 937798857 316899593 497314325 807087830 383892477 513403814 994330261 193120411 204381979 906505503 814299728 506407819 124393419 942361649 307016038 624895255 848880690 258525593 546220070 972081941 388710123 426882518 374297746 636825046 377216343 113138727 990992092 595336830 754994588 998956538 531868091 340350744 836315095 529205005 815558239 948078721 631605115 261673273 156518736 555401173 653050353 420872247 439710007 221309902 234764703 681282382 380718775 491910515 222963096 838871993 703894530 852522063 701083967 566776111 413977281 794698006 455203167 593879243 627848344 201073092 749058390 587684722 745948013 467369874 639519230 435409919 258071874 713086379 402387354 682806135 624297226 259455759 425494674 793623643 334250748 868484119 397587820 830619619 156525865 684966553 696757176 557470528 186211068 943673736 278225519 958487278 812298808 539609936 992951499 111366453 214866220 593999613 788808107 529572878 471388416 909065374 566310765 786890890 752352376 312885547 417304212 500605121 224529726 747566228 519479996 954446248 998669397 259658985 179174541 121512504 168464369 254025713 223071957 703630241 358319184 585396603 572052908 894771548 907331698 352817546 677783723 374345911 398219162 981178378 321127768 928886135 618129041 538744577 275040708 603424166 601635248 270901782 902099586 511427999 386164283 297890110 480231178 140619399 435105512 408775993 935398517 480202809 333253868 759955546 838994881 740117796 875602312 225779405 968484080 369313391 985766078 141550581 525723065 488175108 942356030 929713637 196319299 313223786 652136463 421612889 246223965 216693855 603939665 904295251 848962121 756502471 362392247 771724857 542427366 668084683 901107781 289930794 496438641 453595608 238431976 160595092 811109767 308794385 371114573 598827812 580336866 745744632 582298968 804141648 799639312 615912316 522490631 445662385 535859136 638235649 440581017 678820623 773612803 834155366 781780471 686690092 238630698 634494450 220485480 143448858 561279871 230630475 850983463 303952800 238101207 426054639 192326792 703907655 908031566 692967378 722535325 453933788 866792178 770629727 702534481 869041810 294596139 960891213 131183855 751617327 719756450 675912763 838674960 265180956 346083512 901848673 439196963 324198077 522740029 877375754 471366017 613283172 467346576 348452898 423941306 206876349 220820000 999219711 496635387 858992063 121187019 664114616 173731796 266514195 905337512 897916038 577380347 174222814 597084229 274306661 744467107 408256701 829872451 151401358 555052278 904223079 954633728 976048990 387257908 251098743 862925627 346270248 178748373 796898811 520018841 315012423 632359394 607542280 475350339 614660489 253380074 231743956 173027265 896187171 559451120 712092923 107023162 576306672 844107056 201985707 994429078 940167015 940069233 274074608 584950672 569277044 323536161 111653419 451760573 261742218 803368519 329923525 124437376 136414719 888359806 917221913 627932679 779720716 329725155 960014414 625845323 198016057 153787581 559812368 780824683 745284412 695860995 448599980 154279834 681497981 530214403 779319613 134750343 454961836 753447117 730860480 828127587 964353823 307577925 764812030 770901076 769804234 604447533 557927539 339681816 838502289 187104938 179391794 213247305 663775266 681150069 498787775 829429772 178894188 360808003 800719779 423798099 927902070 989794186 837748851 187081664 135749505 492228108 453321422 647260798 378865145 228963374 734843883 492608040 110482477 289123457 613413365 788088509 231892178 126813917 666447487 107217820 797900020 398536959 269078726 880105214 200206880 255270657 988942554 700479028 907569164 525535211 469458056 554204869 646727415 766042677 633194016 869857022 687694044 266992427 692380303 544865026 551080989 315452383 164682511 283317425 113622107 384320114 671511190 680928242 892924773 785368885 606416878 566190016 913598973 394727015 652677591 977430826 884593873 427713957 721816884 262536503 547716651 655730741 535570855 322203561 244450008 776629601 349480886 843525639 802537068 441111912 387586648 146736572 993374627 592583834 121454175 458877807 661725900 228076694 844063721 462812346 217011257 754685156 545445734 756165870 349759751 132069138 718641846 791728384 755443281 463381989 391150078 688516339 623280347 259408594 237065918 919519972 920317186 466885164 199150000 133119971 261271392 338298712 243025450 696840492 569986243 680800651 467305610 968691951 468965490 155267610 938303124 910397145 407849757 228538380 163750640 365956667 869165287 419335166 971441915 911083159 523571667 257801218 146116056 699916178 347737865 636244485 271262208 661670455 968397791 275002561 541107228 135877009 898449168 196125232 403174516 787336217 140009323 552135531 326647025 608930169 797321835 791528126 444180565 664545077 366230506 434745459 404316049 580734150 543563825 815873019 552418910 735058319 361027229 524888618 333717514 176374674 571316778 228471532 704118388 412223338 496415855 611687496 114973454 596285712 702222266 427481661 210623902 924672682 594795852 577378670 197259681 639134129 320591003 687163296 108129059 431436150 760411892 716783021 167344427 435058490 489876225 893902676 334469266 379684044 919202623 857705738 584016454 572360089 871478733 539453910 483167013 353055478 206753174 546517330 772078467 176326167 762628589 901912443 292009906 957297669 723154612 687670283 980583632 993912889 216505039 571511688 299989781 754039788 459186368 343565605 536733924 324317068 532866886 760675442 686336101 789732077 173188924 925464458 411440960 322421314 710649804 196227344 801421715 707411115 140795929 491897082 399296327 401900171 184352896 957472949 312658013 445305733 214253664 474373103 186966861 982170382 384994474 461241889 223528407 923319125 701153440 821709287 128785240 538447335 935492614 927005192 604479035 963109437 539539057 478095529 249616586 192379197 540600181 364941411 371629109 755901697 597543910 873494723 601990362 141933241 780756378 184820473 186101048 321375668 472042668 764659961 676844167 319381188 153129128 339153533 406246773 629921424 119200051 233604748 578767031 482238456 641093310 791444156 739005247 863859204 706249862 334391481 288350981 591611127 868715410 159143308 563011584 785930839 608979111 250251860 572039849 792411844 672741923 419666298 616001669 989134780 675892830 347276057 433412370 864325171 672047231 978020826 518861572 221125645 640041885 418282093 512884960 733868310 132357698 156486225 564697893 562101255 424913085 892334097 777820130 625345424 888786805 991651670 722437607 684431965 731133737 357277807 890566444 594644013 706744673 601254253 687019588 460135361 823735589 324165559 439487043 154117757 205972362 835217932 966219077 890139504 163337313 285423443 580590371 734183158 256514534 758862845 969717349 223349400 929528965 168013295 510919418 244552571 638697176 639824153 985552078 305522739 940038513 653024662 492829510 694859261 985794393 982288593 467198632 368043334 269018916 321861983 819909411 670037767 407487225 902551773 839347767 904330686 325174011 713703563 611800615 972022206 158309058 239626214 357274774 987233893 701492828 706780342 780154648 233917456 655271721 313355103 752203365 445390065 421964970 578482057 387253238 278769889 277468041 224642367 414757810 714477581 426239354 207060101 352152142 745016468 194905771 423395930 738193333 911246050 329134009 589239765 805770080 125403748 198958934 536838532 602136256 686288580 508888908 129854459 694495827 452391418 507526438 227230877 351929876 340589661 267472402 649996025 578857744 504804793 483257589 695667075 666483318 776364008 891697127 910826257 450988767 293410709 476770991 211501462 480233651 148191909 505151867 630997436 365524656 833652968 158961894 891709890 909280184 715334230 404150371 752886428 790148078 894099589 517769956 815270773 909571590 415766669 921737873 365858463 471564041 873550332 651205893 817404091 853481954 231893952 145098533 591842337 188715999 742929299 397406778 454135752 910393851 490892590 940552295 413792417 900628329 144446506 360881820 278894155 898319448 769293457 557871538 313160598 424896912 940859716 755416004 777192578 587172472 190917578 781258202 826567734 683560576 126104573 874367701 945894837 478681980 698900226 329977332 650900072 720633204 133760985 468072436 526686340 637202523 303404434 317951757 662674554 534453259 932437205 611314990 689741517 199765468 168759559 481604011 330797847 487776074 786236522 782423061 523075990 295335279 805427187 205497695 846101443 830580433 159638273 317341098 554418618 967089269 733750613 901838696 761947897 169110536 582321101 585350157 753160418 530363172 339479132 224640748 143356139 965958467 641238537 752769352 997097094 144832500 753243307 906336541 950329478 204958130 874963259 422669515 746040595 782419203 781937513 635622323 402445343 297453389 160251842 709346402 833382513 992135352 913438905 829913990 932804856 825107437 758624703 631654381 687039597 115723541 541701751 280392537 174071271 589680353 143136736 908285790 390881419 874144756 264856090 690919256 491009036 358007828 824618376 286913076 197731267 708664859 508499062 433688674 309608028 559788052 878624054 416124040 665073185 370124872 240336834 728205748 472960946 593082158 962099476 389412284 741932557 269016915 310656958 776692292 392320654 721456703 557491083 417493039 102178490 750802904 964863519 874931099 360468152 222346628 296445887 512695916 641968382 147358714 718363594 149050202 276413380 713638236 339185370 437597266 480054265 457490458 171957170 968931891 605443834 880067157 376450354 262053386 593763200 634891919 830854615 303343275 593895351 525827594 872363060 471889772 751259349 986090675 182067546 802651071 893061577 706739958 478671733 558658939 165911059 672254333 610917159 985087407 285449325 624726320 626657796 893765102 506782051 459612061 161383502 311569847 340477633 277808440 495073285 195977256 249029946 612866597 704594975 274975519 906555653 309562298 748644238 315221657 278981032 258022957 613813059 573547982 730949087 775183720 811957706 198703651 672865992 525686537 860843393 454346096 777373239 355355109 332834845 251081394 992325032 913699932 298201821 733776579 458633270 354595470 996122740 827532387 330693211 907757022 612020176 924279796 689197423 406420840 669603491 356354415 230864841 973483925 562824676 548875381 384472717 431336526 890193619 234957364 730680495 523468467 701549397 404933847 848189660 817560838 663224795 601691044 117100033 434843782 555963867 901143273 957744327 808307322 859339956 716950683 362735372 167959310 515509423 531969608 304328411 612943416 755806537 993611868 868015063 182468658 904464277 900958748 331190806 567471109 260338800 950049378 285785231 324208303 545120686 356353159 755587889 139937296 480377338 127038868 636925132 131846523 347490594 902322343 629123333 878722825 881454183 923244390 734714862 299446718 547648531 496054176 305966625 211195427 218592791 978424973 607704712 954216332 619261336 377904734 623827786 243147608 575165369 417321668 984145536 649653849 588255590 628176101 590230441 949028864 743100774 195756758 590345407 160584327 991640638 607990471 512165353 270021073 602350109 630829687 264194446 132346542 392739765 347805369 175363153 891736974 169136470 727326263 617671613 458877895 244722910 138239121 961390176 648536878 250837204 240384629 755834110 281927311 748144049 442128404 451544982 589335729 874924771 528375622 369402213 294196589 590745459 174953637 398903789 920452208 625052918 563105893 695520707 995401782 600760650 558260499 525900021 973712853 368093304 678188486 319097497 299834787 424863468 961259842 541407176 803197178 742538571 216409361 311921878 657503785 707461126 257797670 361552651 920531287 853017899 723130593 446363526 108543599 833809331 471361092 812252988 199225490 870612071 826554863 936163557 515121978 426611282 825096071 191140953 832405872 415257031 459579694 236335931 492711589 664392555 934856031 635630474 248069203 465621577 792682898 561624618 943965799 729388736 337487656 821354885 677801086 904092132 241252699 345596285 379937731 932480257 321144120 417121281 928508029 928731513 122418843 378004238 990971110 686335672 926802636 303041163 931769958 260047507 774543111 244082735 838305807 306539520 271243159 954241620 182657718 927420314 497426053 144871658 914954029 846800472 160969913 695491713 186912864 849129070 514921436 290876469 495415257 680435478 376902074 694823441 802444533 700587177 814384020 213194607 883726777 583549115 122001646 523336267 882251766 703610308 717247442 891868305 582672252 734060087 377306273 987525425 499289096 194141584 599003673 210293921 442369371 396588441 577994471 253258411 507079692 171465865 787189993 437725997 825653397 645161082 807357323 823548573 197466605 150282922 153078300 399160120 571640332 747108088 912483168 827987337 513136576 301894437 441219736 955157669 645861511 584767209 609593224 208060815 881888027 376935781 985966501 433797554 353947338 984510273 640794624 236862597 258473106 569586021 255615676 967219743 794531565 352949936 238465642 323302553 413444183 763115567 699563559 757082796 202741380 881498613 427075200 474247671 299447414 998773912 701984959 939684547 574593930 263329300 905399809 845666971 213868950 929432748 530191070 967558273 471580237 407072851 276423674 503467113 470845197 484117916 472649706 972202334 573004985 546932248 449035223 465845946 437497890 685064040 411849934 316324475 750648500 826637830 380374924 384282125 484690096 966355282 742020993 893348180 448212226 624227150 843621438 982660110 686251948 404719475 862991934 487211862 552590875 453985977 456068074 615855647 643615676 876238039 624147198 876707601 727709377 234090013 245863466 148352787 330472294 941518989 301715680 481887809 278463697 591262884 622492122 798338311 589101411 683842483 158489704 830373445 383960755 769656584 910341004 491569810 283045656 292411401 775868198 748635743 562557473 483925986 138290982 265824674 491838937 795756910 161954060 491907062 125725704 571205635 451668253 992834196 481032238 990667492 466587903 464567116 994610556 208326529 771890650 640513281 974656685 572362761 378575412 210633748 984125006 931659659 529833695 878866160 906838972 542302506 738501435 179330780 555745971 201376979 791471637 980019271 310874947 816882963 414514589 638982697 252539731 773892900 858192550 660884548 482519572 310501891 521925092 674299147 698876044 964278516 889092841 456377715 822295992 516094038 593090061 116892747 948244932 806880300 789821135 162211506 759877488 742900836 567681952 139409837 316912962 625083541 755655217 529329990 479340113 202378824 574191418 939677642 332254289 332392445 626002959 494990781 148644550 122357654 459463971 758101166 460757190 803585734 354089123 379191497 308199687 167720312 400789715 881422475 711292104 190225137 805050132 895159840 409190633 659450491 372471099 183985892 712644815 970274080 250243492 549100565 333117361 213058581 300085891 890222287 178222257 110886718 978781214 284431378 809270839 165855934 741995379 320586110 763125201 885554824 837387406 625265378 123277142 412852557 756351624 396994113 895517963 170460547 372815132 864988271 968117004 214368510 673903515 124133152 612303539 131485436 975003293 181098732 224492524 763358546 249549320 137235745 802744529 480771254 255827501 619405606 370020881 831403785 517042972 787790453 874436364 614464753 954914165 216362072 873403264 897238966 404176402 912850986 190417166 270907044 248082287 466620432 957501859 246223421 133050455 952799031 735436265 355823875 555740629 242471622 194961861 596331796 350358218 925662671 991287139 573051239 406701352 693685987 937431434 115732118 122907088 706832289 747029729 685875122 524691943 828560988 766809614 305180912 934950617 694125054 627461204 546139382 602564711 974845527 948063850 574625104 776203644 408142943 841699131 821205874 408877644 222072803 321648003 443148582 965974616 361433336 785114326 371700519 963129572 965359634 724302203 580762027 508102385 977542094 999752823 804415125 119462249 380910261 711566417 498288518 492284574 565526594 300772292 441708727 139381985 960127410 565406993 766613730 512047458 266120682 708911907 675870055 621629465 799018532 359839159 391057306 790606640 559472515 417899019 819139767 648019018 539798785 762507773 651405256 168046851 529235465 420565815 660260682 209367990 109903921 247164988 902858960 809870304 112224926 201146435 160197608 611424860 990670493 115387914 438779445 867733921 190581822 360588530 327409628 110722714 765702860 386650554 370049323 823708536 765272160 458820465 448377258 556227389 406242165 802487804 766643301 185456006 873300434 465091079 351606707 331675348 304254028 544754259 904063887 504223775 274690905 287503298 376750776 647981531 912550970 623154228 149917913 290507867 339472315 381975204 835886873 678234555 217737026 217673845 478557403 856976671 538156677 975917642 824541731 436034784 583635202 601621655 395180523 348004136 434226938 891691800 585204710 202811072 420078397 282438191 272863173 207536410 505009501 671685248 394338507 124354640 716526329 487228130 480364141 931077167 835888459 744449582 222547523 176446962 482723510 239747424 409279134 328646659 674380137 814011589 666132012 499483993 632774078 729953849 425681851 234084940 456450866 747301097 704594017 358991169 737704937 111485902 242716524 287958528 631077144 200798367 884800402 104311924 138324849 256528255 502139503 562713701 313715440 442515427 292405275 709052215 117605808 381862565 553541985 274434688 809796146 181043663 724156527 580867214 944785301 108967832 568054006 566904282 692367342 452101483 421661344 282253249 437001962 107945435 568694322 136707578 426909369 881070607 180163377 153517682 890952379 815475250 619126964 445218983 867447397 870906572 663159062 635542605 691699223 804119241 343804237 990796990 484042448 738718306 718929943 544788156 118767023 506797145 173153214 675803522 967289078 313970850 170484453 902303454 454155106 107455068 656894015 970498955 649296930 851329944 923024653 781634027 820790524 341232193 358174661 797106739 527295983 712357553 610186584 711951357 799864995 790387130 715003853 173428061 808708078 103911999 495152198 545851312 899869473 581305647 972848213 170932002 386487431 146212188 729552547 969467195 103117733 969300194 151092185 418304821 752681596 597246002 238465136 768095970 291056238 846547652 791795319 176667501 138004125 953866172 457156144 331718492 506105147 201960410 417589391 220055580 360987976 377775833 941606173 206777716 480996746 253965292 869082811 564236645 843965239 690862430 595391349 625890931 820044241 625873854 544685127 887353406 451424689 294440413 225142971 736409764 269720282 661433407 653330309 633194638 261495810 855059532 237642830 201211813 239637647 909377369 907163767 682933684 720828160 725811066 833139439 529346523 828067305 294023760 141364959 406150963 927497020 227082986 131947903 716476399 181886464 110778430 109603438 138198397 950130418 738275455 683392448 122567349 361015705 834920116 310425043 447715212 834832780 180757283 913658409 231845070 605917307 121637883 502881605 283604656 528902497 795703719 129782208 433728996 982918327 855152408 113797123 772835597 570839453 579021063 366247847 107000775 640511656 395466247 639274572 649238333 993947636 167659299 767158945 264093418 192530583 557445604 857684515 692801526 705338759 339867642 586491525 188856011 731558135 870727809 767753821 793687104 122654801 957443243 667953102 162817982 699357856 676712884 904351542 578529499 762279768 598210929 742840341 419488218 346680997 543231033 248444244 870829438 746188399 399418468 329196817 591667184 145613435 140478838 219618708 253099091 628091586 265245859 848986662 293041078 799791549 936629472 486449567 655119242 496930633 408436664 745582037 526245212 443414125 594415813 783037744 275134092 582097495 825691964 549723666 662673645 711609310 748702532 259953466 931646075 852902135 839283149 548943863 734470127 468455221 652903277 683631875 740193196 376332793 570442886 767667989 732403134 644612747 829468370 358420754 664777225 676074084 180299653 500218718 985683010 895261812 501630506 157232494 150569389 939829209 396541607 461899007 183298117 457409165 854131835 942543429 154056440 517839168 565583161 633904728 433141156 745553881 664586161 484317004 537951015 779947638 848868952 695859715 860754806 176899737 664922818 305872817 344696113 996691258 840794698 163887218 355468563 233547515 491863925 472010341 664135491 798488883 313161893 605279524 110944517 610371374 323011882 968162514 680264446 496118075 284325095 773137811 626518048 798452718 472247550 853920905 894879658 976962076 132543086 569428163 188786489 722751019 392490751 161507122 125208309 962271249 919649930 925270619 868179074 833485853 780534952 544797066 392441284 938997029 747534210 748714494 824780459 179327155 130473012 100547158 970209605 797007781 535396794 184381937 401400961 199396247 730309175 746595580 389671174 334269642 604076621 716349315 671878043 322162875 480615382 845469760 427508134 582135145 439213661 366812434 924003722 226747632 570715534 938159010 703924537 906532739 154839557 992712525 509285102 184983310 798022214 673485429 283517603 859841763 758535634 755100168 168025898 859248652 839533661 705818164 603357710 288614121 904547246 943211196 280210227 898289547 664678580 392252554 348369645 719921230 526278149 271369908 368385077 170462760 658981110 785494175 690508201 976065889 688056922 458711178 175625632 196820164 585939516 753785449 569712455 411056876 291745784 918699654 907173195 960554227 575118863 973993057 825567074 737469567 519592734 343202025 542761921 715033123 323640498 873761961 827962501 335189006 365242645 426464162 836385800 422655437 243414271 989057146 444775529 219665739 398441627 998379913 757717800 740295058 411017756 468386156 581089552 552451166 677178758 951760964 793689875 112881898 684299440 325745977 857323033 326519911 536509021 129486371 947689874 428927398 390803141 830050224 855526331 877647676 274636145 425451890 353537358 447678579 778302374 284010509 262156354 834426497 829965444 729386645 222711256 838046762 288083506 896418922 538966839 692709749 221190354 967356925 855564922 723869152 847768791 344952156 788207698 634780048 352752951 565324988 745992194 449382793 626941811 645188536 493372119 286120807 840122170 100868689 286818838 198959914 320124679 693433586 812720108 540797892 289149795 716405794 198448906 401175115 783037852 782323247 633737931 109673358 611112359 688221463 978523355 817758196 862155073 488675532 653418550 177146129 799013956 859467492 909248744 806117224 311342101 694997686 375944482 890562035 479054738 774447950 134614517 464393307 428370073 751286453 225509448 870598471 720954426 946420283 687505055 292577128 447443254 763963067 665510843 667492334 955483425 631106098 362723810 152936821 471174826 115726590 451641385 636013589 510110159 264451929 500333864 575651964 990117211 600789529 816823562 461795716 729668669 966780536 514545648 814636983 586710058 617084949 194459174 230421983 691752507 332614934 404261281 689510269 160673189 494704796 343058053 588234346 770597078 853682175 549484314 558327219 438869296 709137336 111446522 432904949 555747783 494129138 327703448 825857161 751697905 153136647 184103657 527428193 817536915 756296025 256559385 900356470 844527035 714788549 139046215 336945910 515196988 491579831 114557020 612802669 306761529 175363788 384121498 821743159 533175714 721798379 940750043 457107233 467938126 170593233 156357489 333999086 428516237 301005754 280052979 851410049 690696856 332663054 980652188 635960341 502498339 192752544 676388676 139304596 494649653 221109267 833892180 287371404 349190771 363127563 746776176 164701757 395595616 437500610 608127367 476158964 607207699 927289781 676595077 533699696 305926450 840629987 650766996 376115262 987467454 920134678 107669508 669870114 421005251 313234128 152439093 602168853 309159858 442699275 772848173 584947570 312226064 747038885 823670083 882665551 974080991 823551271 544317626 221131999 137864291 556439216 838868782 463339826 698145889 172334332 703914188 369559954 535640525 185655089 884033386 349733863 956902627 291824515 100205372 539284660 245792900 845140672 897888979 716585222 863309912 916485022 660306217 940986707 464180052 592408792 917029040 473564002 492284219 627850922 625905862 433588335 511617406 619814509 946821449 429409455 410389878 976370769 671400397 496968432 524351006 995259254 860488430 602471921 785875401 583021526 678444988 584909119 437753574 345945233 661838628 403220636 229731498 996721225 828750943 738946863 853144424 861166274 520528755 188496543 906929639 455664785 253509023 776825773 582857621 525043491 855656487 578468423 503440746 651969069 307099619 591380516 924722891 638692306 580878754 327962282 592345050 232904417 103100543 859451973 123377509 879359693 383249454 410493520 330862502 287699570 510288660 440255068 256010328 141923624 148388587 433092793 744746424 517341524 953590420 645648058 436898401 255660046 259043131 749262039 462525204 502032354 453300496 954312301 346050991 257868138 842089652 751476481 990859394 461446358 812322068 817467124 119005434 915069609 493892950 954582536 452411623 450888555 999774017 639818222 479450595 439058795 327428337 477397198 259843035 694112730 476064218 626280912 931152912 130360370 752674515 206694463 992356985 878191533 318997554 573116539 263730767 698228176 457268788 350202729 984003203 315835498 931219357 749609546 725992218 287131565 705499082 659201306 399625344 771028610 197624738 982096783 188807893 345576767 374243373 228587186 175999198 281771663 499623111 640455933 848524204 246342351 853448046 952245649 387788427 232363414 361178482 411278778 712248649 117293337 349791068 517912224 255201557 961561170 762553135 802770931 717536875 271550670 493371049 123388734 600149350 641551492 200981767 803741583 252350097 742013104 325658372 514779463 614882504 413369974 373317687 564832727 351773509 481854065 551272627 223272675 545746472 722341103 746626472 873952254 305444521 563199570 621054406 775620610 243545603 958304427 944251008 433739938 409785738 357919296 946725326 443807917 277771301 675343044 267480568 914089155 485328638 135169427 965602783 270468605 608493542 247087757 815648835 444060830 900855734 943839634 976996735 223906922 973490894 968035410 153410389 642445340 934185360 147571957 501805240 444318857 969070352 723106189 130060648 799867817 684340315 401758979 500355307 723247015 974686858 112948443 272285369 835420855 296090589 552433147 134608010 541666753 902146894 529640831 730534672 237366235 574336984 994448704 531429772 363890852 988960352 374164226 337270937 122756952 758709651 482596025 402458492 299449203 414613991 675612636 809835932 380531563 301999812 414011796 742332011 932076782 522487932 341543648 320707650 815655304 740651336 611435434 675234326 584960432 754572658 426413315 464239923 787798838 789861414 908021490 786597749 998814357 428626358 212383718 155619340 331915619 152421129 373673281 188483557 562663796 306904380 867216944 953381771 103477389 710897106 490120086 213093780 947773408 422166196 658527877 373043292 727520110 285905637 724086959 976547094 680337977 434285345 664662019 649959714 833141107 729398900 118931643 331387293 930591230 829565225 868038173 491284152 612488476 639599640 637464755 736959531 131065033 658084632 958402294 869100558 488792398 773061192 455703345 610868791 435304322 802380889 780402202 656464825 117675826 698603527 889919510 465187470 661268330 290969049 764097905 234103800 428658592 387253111 383199742 668971178 129421417 326143546 825045705 707531925 806854068 393828436 424814851 122376018 112778690 957313912 985867089 508301569 957772247 736498476 711561797 477944826 867722767 307150056 194018418 277038640 251630948 417900566 484197883 156882187 866310236 263114318 882368672 367099955 554555281 197686876 143390510 650386058 744781798 187898838 703685758 437311281 115148992 419896354 194603574 528997050 998456773 856384843 840316852 959525261 239286170 284263741 151812062 273894677 882116281 411479012 470041457 697491352 184898065 166842254 692348895 980465017 115311145 904458345 388656407 368360483 652619674 139016275 642177408 180543525 107983825 617328087 805572544 306076485 211004932 196039588 404850111 451033780 536386081 999030442 134692507 307486227 781399171 807267670 761218671 999075731 466075383 475025166 631297232 343844895 342511075 507061648 360466624 251795585 529994433 626124566 921226436 966309626 969357993 827209606 174419920 124266614 571082375 881255773 977808640 823409199 688604154 533335348 210248704 267778591 807821221 207267758 730809470 474692736 454982519 786298580 274417121 557440549 319877327 101818311 712355149 308318997 695940277 596383871 362315362 161825639 866343818 922237134 630379828 359143084 510116064 778517253 997274832 593649919 596613454 595381035 608734410 310049033 565319256 444309737 893982791 879078818 296711052 883163584 420405859 560985081 669642413 470311550 730606039 913686034 931686805 931155264 321640695 840518752 923204989 600884374 795578130 133418890 747256850 759732570 193739726 252854588 468594304 585971668 652803493 736342948 582607475 685914001 746338331 310471869 420183165 254282513 536544525 147896909 334009724 409549979 727721112 277844212 878056726 685515061 590130885 871987850 388963717 580320659 602220503 803041862 586991193 468417308 500012431 591187799 894103612 259505584 911154962 149159805 721303332 402973806 625378322 920155729 139507033 736516306 469569104 465286838 839168230 929264405 729696278 987313801 216250310 617287259 842495300 392137078 817892925 805550916 898515299 281198489 991270533 454409874 744690915 984698405 286976932 131711426 247086679 429581391 750894174 543858723 676171901 915720009 877658678 298836545 525131475 175975723 307769789 187920907 119189080 570311589 217224693 823356556 236050463 951936263 601008656 842165044 545433093 482933774 540205296 307499291 907251790 667084759 600838657 194908255 165339369 325572423 535294930 912166767 246546004 932322908 317361819 956806785 383381160 581753729 167779670 164879636 828262367 611089782 686038550 533719782 410550605 522603163 516379730 470593161 775866646 283436046 469668330 316225716 345410066 819378777 630396309 454025429 770407013 293711360 432867265 965076736 868356478 407733175 697168550 560934037 309682569 812202720 924660153 192221360 880861688 202878306 447639169 213787605 514465723 669953707 282393720 605611854 171383506 748888115 443715437 168395595 232374630 407017375 381797070 280097329 108866300 736436369 694351313 904494570 177478732 613154190 218532786 574847408 949510355 522559241 712915978 135170064 831840914 878188039 249141206 607101690 236440082 612153400 566382216 670534520 739336725 889677230 665031903 545606536 275151165 829184361 951730389 959699027 997484187 377682318 399129971 670764254 531515414 372527637 141793264 645866347 942967535 225681364 382844626 943423290 904478797 459448925 883154329 492997084 966579406 418232025 613565498 923353102 919227861 598818109 898917504 695425533 303197864 443794093 868151912 116784606 492034778 897690076 297289862 899783901 253424488 208518555 353940987 549447107 988218408 430527174 544975686 999602736 890009779 470930746 851845963 223348172 808562630 758495127 453574018 800780161 572120896 583482467 747000242 958533676 610825755 630717619 927607914 935863045 954149231 831496091 267868977 207698850 324567611 198879984 341261162 525205781 795291143 254948230 850140763 695231832 992349078 914574349 632829037 581655629 673698359 776922478 164595369 395680315 268732871 866621807 893630258 452523787 226978405 498532632 296920546 347414122 453156542 891952930 318676474 104021810 835938814 312063963 464417111 560987576 972614327 632308226 272961111 788052901 627334867 534053363 784729750 561943318 593339927 377551270 228697124 637193358 924381935 896880300 732695543 278138451 805721764 485154094 722682166 212350837 981411052 134838292 134850894 809854764 116231698 899449065 987973041 853850708 305384675 247183039 210391254 723895367 556562137 701671088 700829030 740001562 719634413 891071549 871027718 378009750 353047066 916429835 543757234 754567658 274915335 834283091 206908490 641232037 572697710 399311302 869755983 100249592 242504080 250438589 640925116 479398968 582038917 666594071 893680939 324998778 980594657 177636658 410425449 588853368 207912565 336724521 768011366 836350001 646647763 439201608 144579850 947150711 232881303 497241172 263980559 808903045 339913979 754073749 882050698 940467734 757559199 343530194 964804624 920180805 506973861 803984140 478505892 567696820 150713692 267102455 352859622 575248853 948350566 191234244 255193928 744825766 322319449 523418596 811635861 869297807 575283862 929230639 627096825 252448504 406227729 389958122 797809069 550828179 836868510 553077175 119417002 736686643 980653179 148810638 376339206 683431364 214849109 973223993 633378289 810474866 296087326 456014834 799648592 290694530 890994490 142144075 320363054 780660265 453634024 545120123 841166372 425438226 304978346 335082932 749459877 533075283 952510878 229142542 245263284 327279382 998349980 849077466 926440157 357363977 836981254 158438018 320164417 797562762 629571105 524044129 948933315 964156894 115296155 680058304 169236116 813966819 667823716 533093771 954849141 882554669 669697438 527917301 686785893 135759726 172442785 855167804 620621536 568959766 190570872 611221135 498323927 155860111 507020054 268711704 276082847 834798931 145492333 736170288 147786016 656813986 919969815 884009448 204420566 306090406 533930404 323881690 455713751 754760515 271447059 255282781 775463915 870779584 402571357 844989354 530555642 630383781 999150807 116634310 655715457 520284550 733946816 791187440 474461331 731649410 505181172 983465552 453923321 962731049 472637886 424976565 914812472 341142835 470632419 192751321 714453938 778839457 804867445 919590202 585153914 552940409 141753721 753583388 345932640 878494067 486101013 696037074 560180189 728478705 752971661 521609196 312760049 977650106 847936577 765505771 657251320 376048443 472802937 576189021 958896464 585306075 636020815 403694546 454236911 869820466 107971250 594537359 169757109 696269566 470404457 334068065 802180758 824368682 261051391 921785559 459096490 734588434 934063856 765532359 769521400 891894366 575552943 190987044 675401874 990780437 164546452 197906396 469816902 743938349 445558303 101950831 282199704 552167790 988315783 995369950 814669932 465171679 251779216 330921475 435843529 824970872 294419289 767721533 710850647 383300544 389269000 258558258 468635433 994074179 310683376 857957441 129839371 849102435 659501174 731624781 832680084 210101557 211632899 213557449 820548908 626783499 606046731 418876337 537880942 115533062 130257268 181274577 449445914 660426202 530406588 399564593 972805346 288064853 369492727 254145128 623616382 764151165 564953259 710743197 580232956 514369543 188619492 435474693 863141985 239591397 594692799 730530975 708266760 180567590 263530045 930242215 959448706 197395996 820481311 997050772 100657052 501207531 902347121 660021738 292085644 175525243 431113865 820518620 244884532 352862753 238555039 517777256 196448732 161367112 647128141 716496202 380921272 716235092 462498559 848958880 628596026 380446157 971820875 196824740 181695577 315813180 620169105 303307020 461455491 960711003 339151613 992794822 726785804 154086383 821426768 117769828 176424604 712906504 281598999 296249693 981349215 583043157 341543689 358118923 883936439 490351889 635175068 539341282 755858477 185294887 943335271 636508359 280329715 323463491 987241837 519493518 927263296 301695610 991078123 553385210 549838228 214098249 242826827 104064810 193840581 694044485 572035369 282753944 484534365 567059796 710765074 835659647 761627481 420928314 728985311 916629038 298091391 323030900 348720494 627136353 670378524 638032202 125188899 253274773 800340773 705530463 569407536 278806319 994647350 477381283 557402413 111317600 809369791 918994430 529645009 628427590 958058452 172328296 992206041 121379232 177742020 589666906 259717544 209425948 441680984 274164438 513237231 398172944 822361232 369733544 760336033 847329861 460779115 627140846 147388102 359559434 679228920 180127439 451514907 143507456 833013991 603209982 481516738 275346465 371358597 492236698 959991695 696051694 915348791 897177691 751627250 525326443 570064527 327075277 973177065 101564386 240718147 384801263 969249524 655393535 428925684 469014914 751742393 809494991 902476111 662952732 105755297 419997868 634310593 533580609 559577694 822563518 774712367 896137574 324854433 210669567 968286977 853357236 329017259 455500793 451330445 828999642 559149261 203815130 538747901 110673476 916235673 976036989 738097743 638857701 935130036 601197429 989677295 987013694 694979854 383487313 614686984 298685803 925345782 863361311 920619758 845281353 793240175 134915358 336973627 348276760 627251275 660137199 179684200 668522029 360362716 138545131 457772213 273792941 486311965 189260641 145373616 208637272 866972168 303877397 940637494 809412118 805496048 333836647 828719290 944404183 864797737 311564170 866191876 458805664 589425262 823205479 986629269 463605034 129673245 497557103 186954075 879815590 519813959 474828189 725546618 905235832 727901094 457599781 942296282 702005526 647310104 537324554 458364586 525644292 283607449 942142398 488856844 213840061 242830959 865318646 745367960 782104621 643885347 426138062 324208362 596732284 714209822 117076663 269704665 615354391 504837043 605425614 598866127 273482056 128601785 405719182 868396210 692204793 888998673 147650725 421556521 224483389 640373740 883724471 371813360 522046162 253305413 488678012 878542284 154626346 859667456 355350847 256657160 142109112 821266385 488638967 180732238 304650181 734028970 192165781 373957210 727044760 461945167 964424474 450043432 313090721 294107234 461801869 563684540 274767650 561688220 400922932 129417390 239622802 134667546 329535729 598894924 934539718 941475642 510572388 246033560 891673470 157862260 642882022 166361305 252501058 221590372 151835865 976176682 271564527 752005135 584034233 430019843 585500282 808289995 146499308 925743909 385810212 593211754 245566742 795178907 607332296 300569578 903324833 571771932 252756863 204737211 223990471 623268839 452699802 181661704 730742165 817330234 846260720 708401618 738582597 515287093 200597343 160887703 981644722 227614391 220652558 115977020 663747852 627156942 508363151 224548306 455235705 910531549 513022107 791140785 997502104 888934777 258030992 725135710 451740074 139304486 497318461 666255917 277697410 583152845 846961371 695850149 337833919 137569197 920747315 939146393 728844807 790630229 760601129 228565844 924510142 991674851 634745746 506309414 566379076 770385250 281804465 447595857 642152766 600866675 345178040 764998936 932026712 592873250 436834789 900678564 889269444 621697616 974008254 824743143 127588254 323550734 306470008 146275830 714973557 304207384 259792664 149517124 895005933 432452674 952750974 372257571 929939589 414020369 826255143 389784358 821141418 341577336 609001279 124004322 895984671 227509732 838401860 467791274 367616896 838425555 787765637 106626883 860129268 463732980 564170403 977284741 484263372 638063430 487544276 453829548 163662819 289188379 192944861 125403515 568922735 212017391 821372776 292160778 718333934 959292570 205669736 381421684 962792652 287981332 983425819 555249222 450388713 385111021 476887957 185984907 125886225 279023118 519765321 641413054 785980724 566356350 487988329 778251225 161260364 809848888 553903905 870443100 370888989 969370621 886244415 941406382 113036082 854566274 388269953 593789105 563187945 668375663 946421662 470828955 225337767 578740572 361383013 398502097 176779669 739543802 132027623 109388708 343582636 593206287 172541478 762892855 971227394 289696883 448882418 773968619 484793080 963149190 498344588 334627235 584595665 807983444 119215978 438140502 432507738 892840749 267107411 466011057 654237528 157320953 346450478 373230354 199175435 382522187 323332932 171504704 985004278 344297259 220485220 211600247 191350047 478169421 518720171 169628151 428945425 771508459 372678006 462677796 530430583 587949758 347709778 577283808 123431821 961094296 812511104 322198371 963870512 155733816 675813817 321734368 557628017 893637882 588761912 681329566 949615091 301905067 193247218 511896963 240236084 197033621 999379229 322163706 517922591 407503180 737102301 859858092 566776483 399643296 645767824 271368363 665786938 505878349 102794949 910516468 858358359 296195101 631964864 110879118 891372023 306739957 559451598 571361307 821224454 485081054 816987194 509781432 656170763 946424630 882555209 885222500 805535611 575762570 472030482 122563831 984433242 847248131 693859622 515913147 625301013 538181022 498570785 218492514 635947872 744088281 511122304 699693744 211605511 426210707 705823791 311195698 868198793 247677861 389000990 431275929 887584132 609444352 460640778 935033194 553209844 542900309 167614682 234917414 354017262 472136167 186596533 991219457 818601408 700440267 646813130 715514250 516635965 206935854 543245533 733061432 903505537 801883663 336736504 109719879 873957255 724255095 567584273 302210448 158809278 711397068 902182163 771310120 273277609 422375727 795930956 158025620 842459360 974731265 502259170 530649552 626579681 682256827 828301150 321985970 949113623 756869056 625426519 713055483 131786080 470355855 280733389 666583165 300335596 445559186 919361152 211124324 734254361 875016141 220793060 621452683 320999358 151605128 770364142 640706657 230608954 153799080 247056587 696362189 984053881 902361343 474312138 777973537 379750511 869065434 890527453 641607611 312515904 991126019 102986960 557515314 725361711 411171674 344806655 756727174 751608650 375474243 475216503 150769866 684712031 886856807 714935920 378176731 426901970 513065726 780851159 638470603 122030968 335931954 439607326 637671030 908315559 385475810 412752195 494211277 703083021 427160042 129063940 383651791 785593594 949215756 667259375 719482559 758231137 618192747 977990086 352780946 338081631 563809411 189925003 768456442 709335559 545478094 181943252 222403209 661353288 718671320 278278626 302801355 640301710 217083726 380903790 748074793 330763026 453067170 179905123 580500349 750700181 872725221 858011764 319158161 588855026 517089880 401906901 391214974 541904652 708004927 594636970 562315053 511246365 792646878 400301240 495447837 445046648 740768958 171645527 605472295 383979752 743947741 168554854 617975054 110440952 281187284 407638839 859301652 799946121 350490666 584368030 963171777 274991972 754470857 571079985 224337665 393675768 835597565 597955224 846239155 736995568 783296662 738299156 345617789 948210582 690147538 608214033 468043634 999192264 657699070 300821484 662980560 842634934 636700775 703273207 265793152 502952633 130198396 742157276 837996568 383461086 280813743 434042777 980547143 841858785 425708861 803366958 641866747 546738844 826756958 147556650 975463811 254588116 115021197 313304826 803070789 619174408 398478268 519737033 359433522 228424096 308927678 884347104 381946351 620039049 485662323 774414127 978485431 384152176 646266747 212179060 887104695 168013742 396439699 334787730 297950265 750513152 972767777 677092894 285017926 579080338 499366540 214743883 719238440 344660467 237154266 706550167 832353856 814770150 155732290 139983047 611820679 248519684 119937429 598516204 402397557 875133877 375814835 806445030 309285837 817422172 528392038 701696896 577675490 254397044 682342829 206221374 745657120 652930132 253320423 623845808 662522489 365409177 331184723 151702604 267411917 749304243 651364812 276814620 668148519 820949186 432457643 526249696 448970979 627256939 913971164 247966754 793399841 744677803 489611408 628136976 703088648 941080915 122021082 258256353 219600974 773854928 507358350 509367759 693196955 710878858 273645698 249718688 148951999 230120875 417081071 422230025 280599523 962153842 430258706 773421202 371916797 782753262 136839726 327045050 186581520 130567287 219951594 273093299 406174063 974562759 849857121 319020780 755756329 791670285 984797099 407421931 885632621 105468899 969434073 701718211 184270357 759941064 884316864 170275882 348362758 327474385 883789832 285056703 806442714 640895395 725180822 617065729 567298277 994272078 443442542 509620852 621567646 135989930 504812831 727864406 237404067 300175356 420202896 186962633 644164632 486507592 278926987 887975240 477912627 676320692 469805668 887285804 543901646 338624573 588485325 669177657 679049210 370491196 214100169 251807814 824559800 477487735 221786684 627340000 419097228 776786479 288774724 267976177 232016654 889339295 974009660 346524533 174566874 553553863 922037567 482423107 401334812 667553186 147444935 895851081 639924536 538545122 115608993 190694837 882811280 443518964 777104354 207910982 238291468 613509868 606499817 919548996 385691071 958066079 938505367 392769365 229897914 501676810 306543381 536118250 565649096 106093019 515815844 743919997 711568411 134886478 108992468 913262580 392221995 101338616 415819387 898002242 286592994 474874854 374650756 561868873 408398404 204052838 545698894 661905578 220857785 624800114 206354238 103933471 365512329 269118186 781761738 988996729 715920353 435615336 942247894 700273092 268488838 590452768 631779753 370932855 359149515 439871199 606718861 189645397 171847911 442238843 909304044 260411722 194202171 963349651 162950141 938852238 472927742 476907583 720726428 383867247 106260591 558702520 810916711 380288787 698021074 301579357 436275293 598420970 923040233 429348702 838832904 550129817 953121466 627492517 839835773 262855781 862522514 659409501 426174289 971796063 511012083 971559006 248409057 829859914 151352591 167314118 119236049 826608280 794228154 140079748 235636213 619591537 576810075 559264602 682654857 188469042 210322265 634222731 621484973 758649256 235595440 285398876 617533055 227904254 229365196 811459063 293591447 203788293 676897668 460945587 787852983 447001004 262588618 126680730 858841638 661111107 984180573 425739394 609166242 681074775 508086508 876026832 346339015 242303380 338619286 147828059 635709276 153361900 211823198 858988180 384503010 644905653 261007166 809615792 105788499 950490060 832195552 685215544 230383872 682322525 662189776 807088352 367646157 235201743 772964994 677001885 237884061 451008603 928648451 408718160 544015890 790339866 992499059 990266458 399578606 495258318 835827564 334075213 677836936 183981877 334877698 116700557 586808059 152986164 289362411 936238943 664209738 266686397 654317634 369744498 490539404 735459227 413599636 489278563 351340725 960138225 704048048 306541321 588394758 109475704 428222788 455835227 558153779 127675492 706823919 742094736 446023807 752348751 785501205 444703661 818203204 867988081 729363107 908126179 213876566 645235828 227635948 108166376 650170987 689387036 355162520 397356122 295276903 523221808 460627126 559607597 675374829 823543173 950561200 453823943 101110164 333523095 566629168 782438532 547889136 215237521 666054745 208928710 456312063 468492383 642632873 118925699 524872248 740132356 733171329 140482724 375394629 111372062 105016099 763611347 742020496 967179924 201524102 175694057 771449043 205146276 743772772 108299097 189922066 579416776 964804953 122824966 897885511 740266353 698481169 878097448 212893141 649657437 275766238 224058273 722972992 780195374 739725579 655793907 328292601 403941422 860650040 171446493 533917137 623424120 664487337 988453257 905428434 161104425 381283421 966686918 635204496 830442299 663850479 582707773 767449924 272543188 222701813 201476973 654330399 585124639 899510962 736512799 278745070 178462915 603211846 720785723 205842485 331082012 728906734 263957302 616771038 154798575 152037683 890963321 308210980 214409071 408866633 923474031 173782728 984852092 200984690 432701434 754712724 700864913 688258614 931052003 808443357 591054984 192847600 891265102 536492353 744062234 235880576 124128320 921354325 879549416 387078286 315920949 549910116 909687679 280424734 596543825 185324567 440407600 508124277 339643399 615809759 980466999 950123536 653140577 712957562 414474665 499532197 912040663 948996347 181455316 182816922 297074805 217012451 438277264 520309512 387750622 956765138 386043958 198964964 540685819 176686637 100093596 196239640 892702762 954793712 525010831 357713786 598638298 591995721 581496786 965298842 423146133 951919683 753401208 294575117 405053940 947928800 585945491 631870760 440282987 265305163 337423307 340446640 854814103 552736108 112456507 854590038 557039906 791644031 799468018 897171782 672666446 643054418 737028482 112724320 447064260 111515036 589627779 271699179 434377685 407907095 618387270 572750067 454635433 668128453 617938973 546085954 764344191 701830567 975397512 345829649 705200603 663676124 802625554 958473343 365280208 925297472 369265490 621081422 399630472 318983207 533599445 823198903 582562207 681226432 595084139 473791641 326362852 441428716 762293904 401228547 437183573 779335580 516948330 490022264 395054349 398883738 797413659 449377385 342474441 513330979 534668151 950677490 373956948 363285373 331995056 978852367 275925063 132709391 812800114 246275057 626530562 795838740 337446051 948231881 396443138 912788508 734688910 274303385 683432853 242237613 874872909 393874076 130622159 954881557 453149202 981691841 782859927 980535783 798943521 548282510 818001834 474585652 152232194 624988154 323587880 119974662 737822309 917422769 281249380 979256661 733647012 178816795 582017789 835261421 885644844 728360067 270720289 346242478 367517241 231685735 618768816 839364848 601304139 375095792 429789545 383697296 581407737 984278107 225450644 784051150 937097305 467038929 331792282 603147512 562657924 998392436 786428585 644407989 832845580 515023891 371495892 803207164 244071693 244984662 710419533 608200238 561529291 861544262 716144421 435831458 165331801 790579024 181075069 792433739 861646483 643284829 271510908 503398070 688120228 929636102 721490885 408442895 737231988 102669636 747463407 755582474 696748340 879547342 668949940 905864620 120888295 854683049 395534686 709502845 661829418 824377726 392068354 981513435 205147433 972699440 606454682 947174219 731094003 421548728 508345982 239606268 638717755 544800818 611042491 232531602 827912463 111418510 260923887 558850744 215720731 285319199 159796040 974941950 790647894 447226951 463059534 564767626 872046932 348033117 413862935 137427752 993025404 361202496 867066199 230286790 977301368 378826455 186453444 480035776 255855015 565270661 324109025 591342578 636395326 559675972 441855952 530947948 217403791 541042428 595345112 424047419 822449228 306689334 783139853 554356211 181250663 607761730 444834624 496679799 342798412 183522194 536254622 372719278 775215139 488808989 711573548 141441452 971887512 446176711 591922964 996355127 871636812 480842816 816488516 847198206 308698604 771270367 217853297 748077645 809441649 302982788 428676011 352617453 681508213 552457029 549687378 419431087 813028886 471380656 764489762 839858249 192275401 128655550 709307628 574902472 705631025 315364683 540195597 505849325 472625186 686029010 123197483 150803056 423071904 741544828 987951739 745769102 505269733 629090675 694484627 579094600 276073977 433524988 229799911 490928083 371296461 348562764 817284242 746474888 176080491 351114770 753972615 327459010 147740138 659277015 299415269 299915591 547052883 735670143 417572429 295951624 352200115 683137866 704615334 391268653 744344869 246296841 972356170 121822596 160122347 564188717 559548585 415849266 576548481 424905506 594618931 948416922 222950774 726202564 930894834 335555914 766837533 809669279 588314726 989725200 988285787 677357939 145810657 689460941 162269856 996630085 597618173 393175295 110342070 257007632 650303810 248329718 969514364 659610286 538952330 924045316 656150032 423263840 470380460 988659643 209639901 101786336 935705008 941421283 451224957 383563751 383870973 114833821 720255278 237470033 870718819 524175100 658359175 529287952 507106713 683492944 419923488 529172399 899011863 483781039 760624760 868308616 817872327 378378633 189351247 163380471 978032197 424502079 447624146 379477654 737357412 566567954 390988457 409848583 210330419 722788002 396734288 471773556 820128148 199245229 253521164 513808039 250893371 194282137 468561117 366779604 122881422 595296578 582051229 551425356 682464697 195142588 918942620 921937402 431557944 305797540 688824990 247990172 821232738 344171049 450968890 170763396 281666294 481655851 274405145 260868090 644244709 191576864 626189345 384552929 857053860 553747693 197041329 951935163 266325441 234542524 614928094 315558265 643540334 412707473 880935818 991674272 312215846 197076336 317752442 368050858 645158218 901762064 451137535 621839706 909708517 644549984 454915518 855208811 583131029 883081488 473401490 410517382 300693101 761452199 290941165 506181674 738038392 355136665 892029458 558684117 803254595 528298169 956148426 551714296 333366034 822791204 163533113 392264949 639534972 876104092 692648807 156279277 939663778 720181226 168144801 452849664 748184291 517513525 645026467 351366360 105029660 664625563 448368948 811505859 355068905 403337071 407433635 958889740 158935961 567256242 501389914 323001813 758525454 223219130 586247519 242152916 427168218 266943280 674556740 324872616 820026723 259191733 500535345 426667526 166786574 839747679 581997193 824111094 407630340 594772107 119608514 389706467 838468414 735727892 352169136 340228925 974346747 969236738 154907251 806254210 662758508 823772683 544060077 167782121 693151237 913710356 174673726 806197653 936365017 196590417 778496893 855623589 170767159 972187604 534817041 643784782 523707110 331975230 314112545 639333539 178489340 492784259 745635717 297119039 352711692 324596125 386668095 155389790 632822362 632891986 197315740 530437445 927831413 629374426 522194153 388376906 749974997 211925474 398273029 340116358 693289454 870929881 124752848 487528604 628695635 617441061 886587677 596905384 911351412 150544306 616532652 190938329 484242835 807045328 811515543 304175395 636901108 137275550 189037072 882762907 907846519 882303266 329500173 596048638 254323221 726621761 888079448 403325723 703026171 294495682 861970288 884959921 255691392 806395491 241034913 654975017 745734704 300043772 540893857 492654334 748296862 287372704 938126020 245303722 456769796 479131471 607825956 532007472 781407459 658380130 932478105 774165167 402122046 576208397 590143237 186294556 811690801 652955529 739921373 891664300 362738721 457996519 668350582 704968182 779338876 172118771 235726741 148406977 609198522 674426287 954921944 248254082 837535198 957277739 245299252 952743880 374250913 615425683 318763831 808809450 371778207 740430607 811699073 108143197 335984431 679622880 507593946 621474664 232996291 516509143 625191231 394807036 871427791 420731776 492597184 326315462 581055849 721919151 790084723 356489686 694273406 888451969 984907222 371350096 170340362 305199814 145560455 418382124 232697001 154888028 153757504 287738929 503139716 682077029 714268755 575310660 948742297 922318457 974461605 494028798 861149704 137947110 906941207 366298595 273628279 208047124 105952793 917894161 147755022 752158462 175725867 973690603 597246164 378860760 602681142 200929706 448463352 830023175 559006596 190474544 547421773 711842142 743499004 392134913 459395999 508950829 294025615 167390732 738253222 730433781 461620245 184654605 470767096 767785904 227993549 162805258 341418354 975070580 876646785 664463517 751426694 948103034 916603502 567302466 287158928 482412349 691181681 229787026 787174346 935613946 431472091 129703867 504367354 986384814 718098165 581467880 617116651 150684788 917995550 402088845 399870865 705532704 420343820 171365949 852396651 570073538 253294576 290036357 576955126 683485241 947989998 414958764 342624596 305723508 154544049 756684979 264649928 986717154 898230395 400873660 746796738 515859125 854387025 760273249 640343152 477702472 918617256 320518749 442211404 477196974 152243773 364839936 338479560 544148678 984665835 543332155 674710583 103278934 281299595 518871754 433491685 283137737 534241848 726169875 253111107 712182829 229075374 427583068 138045625 577855641 470403088 272402968 186525245 533245848 274472429 915239163 400110312 127808371 270164948 697379550 156211422 780394007 679699375 449228206 621813327 250592101 870061217 772329775 392692197 744682053 994114130 444480032 121044131 523735151 791771052 126875075 594725210 755569786 732870709 328844371 292616308 205581203 693233267 476970966 648287877 222828651 437658973 549522221 564669484 194569973 126004878 982494911 950419656 811181235 623613860 196356689 883151293 567385866 943608847 278909764 289724396 116208231 956158400 594758241 720796505 542311895 793966172 209667972 686465009 762370817 739625888 577398312 881416955 378888878 551825746 330475075 489607481 124788131 204164350 338421157 838236757 153560444 193354389 222225420 843229789 361991729 211128968 475977564 692112501 597689227 404067120 663138694 531143181 868529220 743629334 868017209 310172418 876406539 340002989 301648308 709164383 773177152 490525262 192580237 118226468 904574782 909841871 537355114 780660485 286397356 693991361 777803713 358257321 597075309 594968903 213436135 338467911 877807184 465713240 236752877 831362071 544318871 695429500 610301357 178784920 471973333 695592473 473296418 233425512 210064459 485563736 415915357 883728312 209527142 165933408 632132465 372595523 209547766 234058431 336741868 689089545 462006585 418627955 251598645 974693671 178246463 595666896 251693499 912979771 442893896 316849940 898553332 715454903 401527639 971175713 201860545 728992841 703004167 812422006 159885259 703825734 416484685 517101740 631974691 464214462 208526010 342767850 195506444 167469113 708005716 526434501 787118352 749521057 250310702 696376492 544806548 652252038 917369733 582942037 366318416 121469384 927977848 736664935 207823780 176127349 251763072 339548081 923914177 421028522 628895482 581657074 136681348 477004308 952869731 315511429 525144527 184248252 352557854 935545636 420705204 457556874 842774963 717271533 558211651 884432495 805601916 651479845 768352501 422129372 661942738 550050520 219735985 164681690 799012876 985292467 564761572 100446037 257895032 666163041 950990677 439400527 943433946 313294783 711427799 705467953 709307713 262590074 513590260 787334242 449172346 715872064 611645987 276933321 368787279 588417336 239714660 539167194 476140250 363100233 477855839 676928873 989539129 334782137 461556340 828367051 232158652 111448346 914260410 994067342 792825519 798053556 102976460 488150011 262861986 491635778 177120764 445970256 142681293 182576110 492037282 929079891 161999298 418086751 383051593 219409028 156812644 450502325 905636697 726063875 768909316 312593716 561352478 903756029 505775070 844011849 554989284 984037840 816789912 664046671 418554626 737937649 718995850 697203129 883544872 155572698 160377979 989997524 787301405 356764737 139544856 409075445 744302794 260211714 638307421 252616588 671135497 280272421 397416468 157181147 259079927 626143819 389189357 996434336 435179332 332260384 177030325 354864198 605789020 218593766 560758413 826898905 149642937 250826600 262187793 778583281 194821153 972680140 284587622 398122572 728091533 299494618 360924594 440594837 766117475 574165483 917033534 122512941 501378542 794775276 159048584 974304363 454327458 469295086 502935336 292416885 157209586 204163100 116447959 443194532 417761974 126215601 513183606 769112367 232462705 318862965 280516435 901425032 989429608 197226794 923474137 311378904 294688131 608150995 191200624 772167186 771898359 606779899 178849844 453005806 857328375 193115902 768316829 947241671 414876829 515379958 281831583 348620070 661196916 198790200 941414711 699402651 570459219 951886066 858823446 132870919 636210621 415428521 793286335 269649742 289365548 224499225 328231751 358517588 247098328 205334502 256917805 928376389 686925358 212126813 720444103 646445947 803054322 517169795 766496639 940960414 450522828 868545052 358259488 530581510 670360155 593360435 877413331 380597669 875510025 600759367 857964037 164052022 910483407 921077410 351563780 930550986 637693066 843901448 383471173 145506690 526169343 737841255 156362744 180333399 835086363 968440178 741816687 648290569 670176302 212702625 872428315 484086612 566051801 397110535 408335631 187375543 606913376 107823641 756967183 547368226 755516832 109600153 686910554 119412016 289041602 901821669 537939762 769743785 471296874 277185856 189965677 120518745 365132147 946050744 398056559 392973485 941191255 558252736 691090736 523002014 784526691 581778741 933921855 193912775 847302485 502513801 130563113 976756037 319224161 578766837 993645737 433700498 421245884 851469740 666985742 651836747 727851629 675691640 618872751 246699465 791508349 959475890 907315349 656923262 250997854 627429834 433884692 181567723 674902520 908351376 299858135 616902089 180343623 179557984 448813152 501054339 950932047 993078582 814497800 840097049 551808243 246093636 405069634 650897135 172653879 533154325 919392730 167549157 605396254 500638030 445654231 224574457 904759766 536409558 847961144 877563643 482598315 985340939 766944526 867982608 317748240 669187588 631919293 472054237 224654664 963672326 109434761 968222207 289274357 912248052 374033207 774830872 229471586 723422161 778330676 957046374 933816081 967654121 151197340 776058892 533175427 975218210 801269877 581307830 167221072 352572502 198515746 695487164 575796983 547977872 350926138 122819649 767140445 710264675 114322646 619763004 387179313 425525411 319742455 369989071 486356962 149960601 990176973 739235546 258703842 360803472 906991942 522957503 274532695 783677838 976441849 183047742 204487101 862176135 891748556 268166453 792880189 949744586 168034357 291724956 388955576 904830409 283310685 477860512 804590650 554181772 970557421 675428453 827205519 557422351 684775596 546386656 865137049 434451413 789979523 573343251 482727247 635178260 810387672 314449910 733190722 872519373 119603096 384510566 566523134 768548908 425497958 783989553 115655585 514245559 915580809 682388093 685882426 846477209 960460352 383753622 996973702 139447115 107124481 356106100 417748907 199039450 876209420 705557389 987217728 352169123 918403726 143263261 311606425 514342457 929912830 240812732 767463512 866907158 314197736 540612964 499795250 176280265 387654108 672892467 188514236 644636004 605432433 568906335 873742232 237105064 230582492 308464251 820928836 781686465 654416831 436202726 751734419 839056722 168733802 410302409 376892350 356200054 793669406 684499367 463302227 929129824 297547000 447985047 540741095 106531777 570185659 670281081 649143546 827287791 176400808 845429610 607977556 829608643 362564232 327255912 353184483 472952758 914316860 717469644 449851111 375991804 607547188 209227628 858467795 814332390 121529396 950886389 512435068 795524063 517428443 602181003 713186139 984295961 694914146 760780261 524359390 273080840 683466375 914544989 674069270 967317788 286558846 965783913 482316857 756776684 253466181 756197417 672553898 415671707 833262436 517952362 992188050 152271325 392840916 689231697 140462355 677032678 954082345 774224898 111363373 451356829 868092770 800008778 272323929 361722872 135424726 573788104 581375505 313504075 857916013 686937167 279017093 279061395 510327074 260586174 453681613 277844687 332288214 275465926 963646943 420878341 605329055 656371745 822999208 374943115 697772466 851978944 720832982 878259293 473126338 401257365 746165972 978372481 797113893 971523259 431131620 884384583 909340399 826450296 802446517 423518560 596654216 447727026 839647413 888779649 628182518 893661409 238753685 348319389 733302339 126336848 131600136 913023603 541964916 525526925 135871041 380809321 543693569 863549974 251506023 404256725 466210490 210014342 102822389 937215732 527693008 701608755 541965619 592808761 603899611 372728639 289632202 845638215 743862584 624849376 322227476 745961153 943747350 143449380 979968769 191954345 601922062 135690142 708499209 950000014 131065104 316008182 739175465 642695152 258032200 234333446 840831853 148771757 272832702 623520451 540300697 895013948 504940417 466624968 663881750 733479650 480202574 486825832 542672966 520204581 366335548 447428383 798735204 108192293 825841811 954166799 833842684 417575397 225147979 377794391 745545592 763885276 950400301 457286371 583924229 727104484 362468297 883207907 427668873 434090582 476904469 316123820 989034011 751277184 221328568 783582839 138712776 884900547 584374509 869185589 726491889 925202516 483332031 724443518 639085922 601886638 287165661 963904343 664455342 108339456 781614976 557021964 225578189 173221402 205679812 783912993 191847758 886575207 636646696 593910932 315231341 585775990 713839442 743284730 789461657 536885719 207185215 321167336 217176499 726592129 929133919 354591131 543953918 570683991 932202483 680631197 218825785 600543038 800361839 443068415 211197313 367276330 361146665 509168522 709972921 159813006 717192720 830212180 209615629 234711152 861784709 680800356 257140158 599070930 514270538 731981193 202150485 700454666 626676432 324852827 292313928 583805868 280141696 145329708 112607607 894115133 974978347 719226881 658376406 273408770 384861962 551948181 591216139 262256699 360922698 906577207 288294808 741094160 246602939 765736135 905893422 143220750 580455416 995146235 880855863 928284930 344411242 641896412 399839094 467786061 549648833 983357723 364755980 458117420 491826129 490574736 281258788 610132378 264403362 748527532 674021799 542880568 484966511 981435519 636517757 507688118 757361142 238224244 674421543 799631455 804546921 931044508 324737484 957282683 710824714 876996504 851220910 142029167 554832849 993054173 486798836 379763124 206624692 398327992 313768293 920987230 524753980 206730379 420707370 132255626 417195435 622601514 872208033 310659240 658968529 641614034 477008210 586974477 121313552 386503619 862054009 818637882 525100777 365472101 238559959 190206856 852078388 796348503 855909189 342072919 391355757 516115154 568845847 610338122 996222523 906223666 216397828 408299231 853914267 251054749 923222034 811852740 456017453 616698241 873088441 790713397 247195809 766424320 770284174 119840112 754269501 857334985 898331324 733607578 935394506 103749642 400697821 934969907 171594258 622812413 311984483 564222403 385712393 882390009 326205119 418798517 476206876 157718361 206451408 217052801 210526650 996261217 823922174 693879098 315313100 872165064 484620379 342046165 504572249 893390122 467198855 910778533 274458465 906549193 465330639 914748104 956445217 278159055 275869388 555744822 672762610 955569669 350623757 356566157 291629479 825042489 107860346 353759772 672111486 348448649 373960379 396770113 153893697 593250467 763022783 348154362 397649564 534627099 429940588 579948693 889517105 288763825 320695959 690387261 878666786 845935731 555583538 506925751 978153467 183755423 696672997 904119753 866234482 773254964 253844437 464053204 374288405 636905421 477729930 644590103 756644261 724026017 750425762 113614153 877531419 879837709 662648251 879358764 680279576 772260681 820358881 968056300 272922189 681509351 718901142 434822869 394213664 873181057 745466634 532677550 935000368 873588190 371911834 985015205 873419953 198040556 677211175 657891238 265058428 710711599 658662302 154250471 517976690 241808207 512212553 638342758 912420334 652823909 611585765 671030311 728467943 400731792 918788192 647831456 892548405 339699949 529534339 249675681 986888230 656161186 350559713 182932557 787601168 591349186 358639627 646159910 248889243 906736502 760673348 384446933 115656023 612472454 406430497 685091231 576755491 261916125 396816853 659273814 875021705 102235947 118415463 859605877 293567555 773928288 706879835 670576830 360800376 661385416 933028656 131687328 365253464 508246460 838571765 687449925 234833872 480489403 973140500 742106660 784319899 548378026 560511521 720256571 485452021 454282877 933624082 267647311 276523695 514863609 323636487 165555989 933298788 664469579 236597566 555909895 797252732 225620471 379475528 445048252 818773588 568842528 930134336 625183713 399097585 908648823 130819222 624567958 717901342 964638571 762248429 319778539 170710657 983620648 345803054 360084951 939445438 430470081 120496695 145577797 191769944 192923739 390933024 409734792 215574455 332469106 463722635 904823552 339633217 331476967 959037878 361403196 791701077 611885361 131223178 503097676 944971871 169939365 723638028 974920038 431257357 670617497 991441751 694551021 790783324 672857534 506030736 256012166 329712178 221043568 366299720 819892972 649371556 250709379 904290131 274023810 515334231 596050408 440609432 126178080 853318701 286779982 929261007 393447305 203088302 974459339 499947193 167593277 987150562 869663574 719808213 167659826 224767360 383245211 872348140 329939769 147070743 849363686 202558799 450060660 219744967 400302764 677720797 621827622 487042963 493884455 367816645 767695466 948132800 928119628 751380904 327128727 805674387 942451907 610342440 211691727 633191698 869088683 519657660 961733600 152000202 755088687 700265615 477193380 606470460 227363402 579932297 621469962 496159735 990314316 999448869 935413683 772935612 386407086 403118514 852861099 244133640 599049608 808298460 184866230 703692268 309072351 320184358 701583820 776569155 198317596 870085214 367846493 215777216 822513911 248331763 602678970 385271568 255414344 208231233 333726494 477690938 932260085 437361579 937205488 129528460 915918302 717690489 851435709 589258543 865530598 786458197 653284150 221279097 339683289 900527490 465832695 741967286 215667321 650426054 257327455 935395522 495316494 206956976 227182964 135380660 744150015 362106303 184392412 196737322 166317050 384967752 863811298 491232113 590431855 385898453 973700209 189515256 787600958 172252347 342890040 325151889 266945023 885345406 992994960 761482790 943634055 318994780 920730890 140936828 197853040 352136519 839409555 784315085 914523857 628241343 558885637 131753955 516030427 757876389 361237013 246823121 525828793 973214001 720298203 312853950 828242824 917061358 124445216 340916314 383077013 951825740 215523282 962398119 772103707 834955084 954437873 185706633 755116343 867426459 135063661 713625875 674952388 245527286 631378774 596219366 521790301 667599715 737769454 826218668 512041190 942572415 354987850 164457714 903088490 992100081 336778064 360062321 399189596 706839307 985044118 700473245 565440195 990001692 110730470 702015844 610304350 629633530 787721578 666642016 549563419 311548569 939103269 868340293 196942209 934476317 663125543 238471160 270970019 748850745 891615418 375336300 292071899 576846160 918226464 611616991 343575464 802975191 675386774 195783715 558013528 488563308 696846148 905394272 472231270 717572684 384401728 164162446 333170758 497718699 586945739 817005084 971185846 527174463 637856070 833376255 991136564 375205175 677235414 559013773 462455889 132625339 907571210 216666409 812010179 329845031 502992477 202753469 481921373 501798551 396794434 533405440 663681716 301492861 970350929 104481486 953882482 528128685 561805967 519632519 478217966 929262273 798500271 943526318 965677066 634172193 788951143 856413721 861350305 366065139 133378780 983746260 766288616 111544936 293382374 925890221 595760944 960504804 253648084 350312574 308100234 229158545 997495647 677745563 427509991 872550238 284650272 519241653 496911482 439043890 340874847 103656064 972427161 289631727 838379867 598016006 690230645 384087346 126047736 646324833 168708221 400667352 307138673 815353109 717445333 337095076 799716787 374213550 603776647 536646016 131338360 331457356 477485844 745564672 845295960 634399585 550269803 800961663 386018797 934664060 623207174 169793185 557977623 919955200 215115929 373499019 234232348 646102548 295093045 919246540 321975166 968637759 314607424 507691247 354964536 264904870 173451469 170612359 105456317 332785652 224481138 350392605 163041266 565781874 829746576 803483201 529045253 186288742 602885141 334232654 516825750 315763175 860518865 897457294 828335426 237443375 486994778 505722211 146602828 261358742 146777635 839900024 631168037 696684266 850897014 195528676 815278208 597883573 227145158 209808625 359326407 438588170 617564312 196180903 398225065 266488894 989663096 919974107 555342418 472461033 772402290 589919523 757141804 282432654 309545007 671991710 721512124 456298605 492326815 334115924 402396541 792416067 231272823 234231989 649253326 279522341 627162617 931151446 839678643 698734123 771600007 220353305 366013458 147379196 530264739 533850336 441597645 127442454 783645491 231627746 550596681 260333036 148922011 136288020 917219368 453906055 428417417 122785162 932096916 250405957 917585125 621747446 855281611 261020615 140125744 381181028 570655790 833794325 733202648 788685083 576671572 220442527 204403479 674741209 856887592 851433842 148728873 724389902 303206694 146427508 121146377 613321893 191858176 562097587 697558567 817637652 234908070 139157855 283866159 276683068 398211377 553212216 532148226 744013663 266070279 198125398 684818881 456389960 586168528 857392799 508983539 134134807 921425667 345534487 395656152 204930929 385359734 620144686 610086709 320193262 943155808 866836050 788768999 204863522 836321008 845747368 658890640 869740387 801085833 227007958 376791157 151349228 381054917 890452355 381460172 219242607 219307195 507820379 358039608 605556273 127738455 215460293 522793857 518427957 415802883 466298767 105446860 468654369 713151395 861953658 786384917 973263993 372480638 943189271 896002487 234429158 681346494 551033689 131811493 888979455 815986968 521190340 190772060 251633919 690822214 597026177 763288696 545782155 143186075 498042675 174522405 133382466 597058843 421957557 966927135 344386801 940753984 986496344 494491308 886131292 858733354 792394219 802044611 694825529 457253927 209988091 985154313 694053841 601653967 953294342 510788254 205248195 456895766 911052953 275277840 978383118 600751399 477266015 230601331 712820138 489706475 273123450 309333556 355969934 242928724 743039587 635387092 827197031 396567444 689140678 835371952 990554485 437098500 455412179 650745257 134532727 653488070 338649795 247715028 382753417 515102964 511133157 870236587 473874711 604206284 322450734 166358081 985271152 565254267 639189697 555003621 357154983 205366432 932023670 366254593 261851245 895227547 618957625 176931114 529183471 726663784 357234634 145685121 529126461 246184001 381691858 655521790 275660167 882146954 565271161 319918822 974325779 163797988 391466092 804157665 545766203 451001622 550561527 610939984 650856442 370019148 724222579 268397009 653158756 129548712 892180316 315717591 200438709 733788554 585287826 199939869 937377550 340106995 576053477 132231681 174386021 894201043 444856462 827534213 444958860 731574077 616642614 267287983 212047419 205760482 901376428 263971289 881941630 146966349 700641609 981661215 290746515 877305510 445280671 157815861 131187491 255497431 196327658 240303263 295761436 756122496 461084204 488230974 746341903 202824939 251127274 804382713 467507473 177992421 218591694 165700146 914079817 214651749 272414597 789155820 540752197 417366983 882515706 789988789 879385243 493970726 184786923 850390928 908796679 730680394 145585858 997746173 917898757 874447578 939474820 496736733 470968580 813617584 461943234 243535255 442671909 998104254 227999702 770974943 918736048 799847986 121677636 918119458 805124280 966124443 811691448 266779597 132594491 342004906 418521621 241558410 111568516 353551609 381339549 717057683 787143346 599110460 586349872 345788308 941465209 741284938 915961282 903925491 318673382 895286543 854130394 740469019 907224900 167833051 854778596 761840490 835239596 305151663 728570803 102286531 229297105 191693419 501187032 740699062 415198325 959936768 293364275 426537372 338479318 855693442 570009242 847492606 969599812 359289392 174567539 364084574 891296769 817096230 744156263 551174758 995188107 861965719 975332505 867807753 377212665 931110157 678632570 322746065 410652864 213568790 232610634 278958002 122303845 732766151 144096822 890248194 798999917 118404519 183693370 653945767 584650994 964844927 711383305 872787290 409050232 660587017 969728523 962277188 548866610 889839426 792934493 553274678 997103347 121898071 368204545 591245624 735888074 976263775 438188418 558256119 101776376 443496377 710957768 663402679 966326615 488386555 979521502 454351373 570140400 730110637 305539653 215389721 887973311 243333584 773185269 841885685 355429208 584967676 379036629 717034485 311755476 137096777 518441862 464851457 155495526 767309963 357828461 753958619 905382211 116690535 120869133 788267093 549142685 142901033 909411268 253525997 661852689 892427509 768568852 178838030 876299531 260683102 282978468 303966241 982404848 584808490 950872160 904641313 148958533 212665581 423787824 730456418 430613452 882799824 236691298 222734108 532287645 501523796 703389965 881626557 448734607 852229029 695248203 138587260 636239444 616424263 853888460 901584518 103530271 907979862 874372762 471364707 659922131 586922249 713858971 934844971 607625337 993201841 803931166 805119715 908476177 849529255 273371313 996895998 136757083 152572024 569568107 562960623 871817425 535999371 613243993 952351090 810779279 154092027 218742146 840864004 322518764 999658032 119794634 333447513 167920939 570042223 324511469 601057647 997931691 891576650 362528155 413397059 761901201 502176645 164886959 389469816 533912716 557118517 958942782 950949965 290022293 774268250 929492118 675587806 956110659 586424544 755127273 157109568 722175802 175464042 233533294 992518501 486696434 886277496 262807988 194322197 170327642 686522073 856623330 613101123 594999919 895223860 426663133 587974022 658234830 668460178 942647594 279444937 649353387 222211956 551993620 133077677 616354863 941481471 798373792 368992688 669269292 289161181 704174552 474356358 767737085 812373072 921557553 478427860 882646623 916212137 423927186 772222300 843207969 469280741 904786047 281883094 945015197 357658403 278842351 617210884 214836768 366854356 209003306 838011631 476044490 971456393 448554147 393777311 995620242 310950895 779702437 611064130 255399796 139975175 703907145 621137508 450226214 549966009 128345241 892454872 536580999 716396717 784316773 147999765 357046946 868085286 384667878 451949637 888674277 191919875 214449594 427488350 686460844 440929847 732994398 845248388 287422214 951289165 882642400 463134375 953450754 900194558 253065000 722220584 321406190 909279843 351855805 680020012 492333789 554025536 575369511 529283285 580058088 233887394 521507550 645977729 606458041 348948702 372219132 166713288 779157718 771162526 432304313 257350593 967696288 194583120 494574426 760024827 382146484 661992194 558560868 446035569 355667515 224829724 945638888 342214135 191465093 301822496 541144673 369611081 104404412 303627302 474547990 727280955 570424566 870377411 778137564 961850525 350460561 402469370 219745855 745085332 884012391 734097845 688424058 835547154 800242395 864385920 901879106 736610960 271326878 741920749 325563524 457214571 983073285 362877879 797601895 418043501 835708522 202949820 301922831 947050093 637943673 214477089 844897680 229313145 274223770 406073510 182197273 182294685 878799225 429581647 636979018 251648366 866651268 755809465 915813417 901767085 230457362 942164295 458769402 695318738 435255796 808868406 160130241 282439492 690950193 430068606 792438143 601026379 124771006 710753218 157320148 831232630 109153321 209551470 973156708 464764276 853511098 612079945 987054194 150475595 700270451 525458012 646306804 650403243 835531161 532338671 344100547 128872162 232179974 532277375 181374198 265377921 270300649 124891215 475181173 663060026 917978497 983303179 678633025 777351797 416586700 423044747 612550900 221226284 314077941 213341786 120723202 356094495 481836447 438220211 907145593 903134300 914523536 934991347 488181608 815275365 379909243 273908333 980167516 868866632 553387299 505540351 689971207 557578479 966593586 298990383 257361570 167709208 169417940 179657760 375541828 807791818 496941429 951649827 302705545 901642059 405221730 139593780 413747065 468664324 476302891 169235525 234042142 909728057 399938049 668517341 318714349 213708468 739977341 903880312 865016641 891331614 568486386 481317387 532563192 628479853 311907495 359247339 328584101 192397593 217064166 804661137 472576161 840401250 134970491 902825934 413253167 620716430 607897730 591687352 867544658 758001796 701106020 544005379 827949308 491243045 312589402 268564762 934386571 872979620 110044524 187657237 287351600 790712571 102463453 412466581 999644237 361916215 218946586 792736228 265461023 922077530 623517469 294866392 139379051 388212825 172835233 984943212 955374474 114333695 898745967 257409751 474312889 354928112 227133837 567554699 119399105 346614471 736519602 133265588 520043898 444388391 871064754 759081658 826071882 741376361 575487843 539514822 546950241 853785457 898200417 744025077 452360474 781136484 469303601 704112127 602502859 762516636 375838736 439679150 653513461 228299346 881372116 757761061 274839127 887966021 959566581 285706255 338358137 261823260 422238255 111821626 296870327 798665037 204710609 985491991 104564449 444434149 527787447 408176678 144351082 260182222 810846902 777120489 474472545 647289259 451530092 445121895 997846887 526118004 155851455 343141955 686961367 430672975 369172119 733186496 965243065 416935822 269935390 674579307 162039448 690949730 476151928 483723340 622332789 527766326 135140633 824667324 455706722 378968305 505340057 294436072 747448300 227176497 498168705 463177151 459974427 606754623 440100236 696376495 618242114 402933276 110912601 348278338 309605429 170517797 723364209 267245776 538418311 772839556 201590447 208307938 869623003 102500086 876179791 687167235 108685414 901501942 947379535 130593935 743961125 587537592 927388138 844573691 804204734 638597244 684478557 158743214 546031589 571977676 161997524 124785136 492254909 618527249 787814380 959209327 527567523 319703580 900135668 501839126 732659946 777838784 903760492 124102399 987313023 193410870 300718423 157187288 174820577 324385333 681036635 826710772 682706012 203443083 112463914 482772846 549427566 176733480 590988623 827119376 834858480 475965084 860630977 525131655 965143983 490681192 178687182 731475026 289859740 414557185 535970080 398106448 635876306 727024460 693206477 173666754 462463058 109386190 691552685 199815608 272981850 530243600 523450471 188790617 438477574 808692119 102089663 583720820 691616523 980255383 124840262 540664731 698878317 612515967 148343932 549679756 470630552 362143052 989819098 529692911 631520292 908179804 137433449 212971052 976855883 836312783 995591995 489462781 359786152 708924470 416946411 607705347 633204647 191773107 827467720 350759512 718131944 348821126 874359696 813963793 431884222 949860349 458470661 908767957 757740351 404944694 445556491 175914117 757598561 181955784 537792211 255997989 470127528 279523566 727342847 120403900 866708929 806739243 897897233 507411265 517250426 328977499 900804228 257176703 633045369 210466068 875117777 475134818 186605835 970002507 934789375 569207164 839913237 563554744 144532373 288639190 680725130 288574291 542613485 353244615 446040479 383152532 560187801 272921023 730284902 761648304 176815046 513956600 262969959 991005418 322740176 478522338 617153131 884655038 965980811 657588907 785836529 689035838 134550287 963151112 818777629 949691810 977846499 796265875 590352253 521081740 841102716 112554980 838248827 817065883 112560814 889675701 704434018 852440149 434231155 579877591 392086092 476787422 807620694 652462962 446340372 540674044 502822749 760197964 992692730 699627465 651475921 554145160 137957121 423621679 873310584 502312897 386305525 741145022 261599131 732742423 556625775 950240706 522673659 782726315 233262195 840605625 707496155 396609264 681726941 775320443 170397795 713537789 836556531 698353723 644812670 388184431 129359104 593672367 754525787 541435874 454197453 761217618 746027651 647095794 451229311 952153594 282703270 907542479 239657453 356770507 811886336 396780075 704214604 662206185 374339257 458209837 985328832 726606039 515159768 895716909 235489755 994183759 368288100 602981897 673538796 257288928 405085202 588074333 425734855 283880573 913196578 504662034 409171495 483000543 435154311 439433337 506047243 429180761 799653187 629950906 311626740 719957194 707757649 179068819 819067762 500486650 328397968 242088148 841167063 750336043 764901729 895042135 989790305 935200744 441255509 582890018 347598706 373047526 506762873 978124495 949400214 884066993 164481308 412951103 248988134 640113897 321927742 935992262 276363331 876514561 617450766 661554321 723422492 304334700 483365635 784926521 905089958 156708035 904660184 283451715 632639451 648096735 551798303 814900380 122358556 512159196 954428505 982823639 365561311 260772017 580668247 925570382 735373534 253460007 318394382 719530965 619434563 925300465 787633426 948504696 375079593 479013577 773487094 651832132 616802128 508010543 977350669 179009637 774570032 620675560 414476621 378152764 238546984 795130980 706187648 394626345 904985381 224639487 982289584 313250873 284187510 351385616 506100150 537117614 565501126 339972693 398388341 677888532 272004496 600841216 249352149 786912952 218619125 730920139 443798087 529819681 246266196 232365702 103711506 449902899 253832477 271819444 425483157 216153639 510044642 743252168 339020090 747944061 556561449 594048505 795544425 330013876 205889771 437926104 335596867 633359885 462254234 766179669 341412450 602050263 848438067 274379252 627554190 967179749 899382330 607684346 548552698 735038308 627491590 953259973 429108139 745867674 480599955 492026919 947399747 894624300 107998277 442945125 297498265 383609773 542765448 378095762 279542259 126589363 380403811 630141259 258832480 296983151 785378040 893136797 805534067 373556616 931288197 384978763 994441279 370026809 284444291 418059547 970657567 913698241 486410680 429198053 579410208 469699955 790716540 254333427 136687526 223127645 181104956 391886008 773995869 680186615 218311326 718417287 745582350 949331996 876067007 601172107 135965580 759249828 786530030 758685969 233243738 325004743 948940722 844069411 234507231 216171144 489590393 315084969 978721041 227020648 671689346 263672041 101076011 748981454 711580591 558263148 406408210 218864379 925758357 562425322 821364070 543917306 537051328 784898581 134962466 604007305 217544754 911602698 869600176 625317628 339678073 701739374 142775886 959089223 742481460 568379049 209978888 449500959 783018973 700509135 163410977 269949052 985531999 970311334 116924942 110357864 504299852 931340136 427749843 407928685 313016291 477649044 372364574 634651634 945376051 441151149 274476675 326566421 617950286 271967717 337031338 613805355 883672515 790169467 785555469 546417148 914907640 824331439 100420182 461159126 896983580 181892593 365900362 448548894 749662677 428191561 621642381 693227601 179632842 777947577 441465585 229892274 939880594 985735415 764215729 699281843 978045080 680294571 974328046 207432152 449144961 385830034 576101679 706172227 743404556 867502257 318967220 955440003 581317450 887067719 822806644 455243281 646244355 367791649 250279797 409887426 163294467 469116180 281743455 727528238 796329479 394035700 731481409 779393796 361746243 572115370 197561018 133724801 575924863 903629797 628471918 999880357 437803390 388227833 484174255 860294396 664591131 711452428 752157510 902596691 716596949 944034066 153376314 397326609 848196322 703805039 932729358 589963264 919088286 242264584 662099906 380697996 635985070 864828219 110722444 393623904 627757393 136861189 249469854 341969830 592710490 827328032 379677336 864528915 278353092 129462720 418682907 699002874 771364800 996540476 176541058 365146432 696270423 284648316 563528617 222420457 940971358 937212008 159789506 541308086 569985153 709161433 746384080 648282112 957189626 358573676 907163783 607909727 927628395 673197365 558672685 790650475 556478041 251388015 802017680 366029666 509635010 909716710 141050147 589534161 856113652 138632765 801187976 113181808 976384402 424844184 119166747 636199894 662479093 255396667 806887814 364992332 833996496 353691202 376415735 197064167 599851871 642104540 401984754 425724125 890945137 370025351 452933673 287496932 960482518 239260002 852313857 144721777 815876389 205003357 109549760 564642108 400218218 809886610 520460801 242143601 393270624 640929191 677537433 911698343 264202410 406195272 298872390 366943258 604052611 983302779 866470253 257573827 219567123 533501145 983422628 116909515 210302424 414871750 283132996 801028267 451076296 151125191 911637041 264099658 303700698 187512346 765387719 859409189 654274844 205798846 751779225 825790401 194959697 275101117 980714889 390183743 563173438 939075096 747697202 161611111 736492279 751367617 283613350 451671145 388487987 359913310 133774083 513299565 355775504 517369622 511480918 492463274 167731076 128901814 788980308 244859684 267422652 427876975 495395965 366861089 108333974 526025020 932727147 692151088 681654621 741387878 641172602 155344670 468112657 239476759 977162500 380238292 428714124 552625396 474829227 884328068 433522379 301638767 627440216 382882533 659275676 537719612 558043192 752511672 186011355 150481122 548865808 470105591 532031733 259333221 401812646 625177128 122998990 382138516 657991670 347778088 695680223 394033643 801994555 286117592 775219376 662582722 954841185 283864716 106939996 307935532 360973497 216956014 779466746 758907125 872561577 474646993 804961339 549429354 128391076 823568946 780481729 124072660 564240421 221772881 362202196 202495753 127369248 380992581 805046603 751285360 102082597 171552499 486770827 965913168 857648534 234004345 710611523 925020256 454425881 854121161 354265480 843798976 578173747 825061485 715122152 839772774 547844944 518357607 620627156 304106627 124171546 876419811 304012396 754783866 841328409 379975788 503375230 838756680 821240679 572402117 684645797 216140445 596981990 919155913 795784415 948984177 306509616 813029712 685028725 969651910 594966208 866699193 327793800 503475837 866400353 723901577 888755429 989669046 176395463 257334573 319644758 349253784 523085244 971591663 895775552 866506568 658631505 817169160 261298953 847504668 896606847 414770637 128584866 865857563 214529930 257962928 851389114 399329459 334780505 358130610 913763579 194508300 827276326 522056787 824392466 949813989 607735686 980396322 950154793 865306057 275640704 975393808 190772510 276061419 399073213 691113059 853517336 691005102 222327223 914594397 478788420 315578376 883882305 789872489 386468383 504205363 101434727 114152338 573980247 254462246 734512290 868993582 302386711 490414178 702642225 442571896 741918999 174742671 924660955 382975516 156605299 866602543 850190562 256790776 434714103 837929028 400814957 331642811 522149623 669223086 674723292 822692278 383068513 550048263 944086517 467003329 398185289 252518232 891926994 659927578 854891011 187592316 301519832 159481622 912421322 219145239 229759256 886947385 750459181 522303997 488855386 696130410 994364735 672600237 942210203 418121327 758135310 325799908 973018234 531545165 258711067 580705264 521737897 409746002 285042473 641926748 118143853 746752893 662891725 378689324 522566957 319540504 430041218 802799687 777740356 512362810 121078964 880945675 511242320 689205658 472957380 352403276 793493798 876003811 338895798 413307967 138929209 567162462 815704176 350627129 721398379 976461986 816652425 430909221 737801317 594752786 105301396 601458541 822877546 515865925 574818643 100947159 375543677 489839464 444498736 491301575 820155133 892682457 386207870 855033704 507973780 296777242 687754116 333572216 636909671 323739211 713571810 989692182 243594246 618472476 238610500 579549830 493679003 489158128 534858069 761698949 898817759 762317841 921441657 899322286 289041705 935206258 308932150 697820894 642706385 731167507 338848675 513007862 818710761 255196502 302099080 843480112 351176350 713325568 804255738 311824015 823132753 767421323 896028995 783925989 262021645 291767170 515665141 119938584 364253256 680836902 898247670 127765418 625848765 407592240 399932838 246112196 216604714 661245512 225719146 916223390 204541547 587561048 649432681 196602529 742732335 710071605 928003247 709435591 369531196 739966892 101526677 702967661 860300850 322736108 707517330 384439818 886370009 363574679 874246926 558648176 991600367 890209449 831902480 167584713 999800952 400390921 872052024 256048222 350387890 190634157 638995026 956979172 889897732 543522195 477341803 550192310 249981865 777990597 722281408 598877584 407109247 268494230 203510235 992108181 720486871 534200747 221531026 718202658 514266728 732660912 848958854 384046446 367690519 785209361 853081494 902723952 386879935 307998863 937134859 715566545 264818894 227433487 610274493 390218402 951509354 746495600 650949649 655906529 751999727 676432305 379407817 152471536 546182835 331836977 739752515 651950202 490061728 346337984 966356144 671565732 274366785 217804480 236585738 838087001 653646541 663657120 314571754 284738938 694464956 409688234 930722617 574570966 616308215 845916151 528546043 368922391 115628693 649745214 379457731 487579305 629021502 485945485 741612199 512247039 147665517 458225720 278360690 648057144 638860560 124326366 708886926 487242717 198660363 175550082 965952968 735206712 553209248 795308447 578459364 831333070 127108459 923831046 177037287 459214716 674499511 536841566 516287588 684928635 700565830 695295707 764275807 359982962 762745507 132221664 697200293 350081730 258376697 719274178 612339380 254876591 985194869 249235061 161479890 645241148 845653967 742174743 452058423 458966567 608863707 368262008 421074858 419751924 628415663 736688703 504800701 947227994 225422071 962092398 444541955 824738853 982244504 921508204 419993282 825553669 177238896 629483723 476272268 108880173 753482302 156225953 741772932 123016001 405352469 799515502 466873233 214476201 411082967 796009339 294270759 288736394 518320762 278679827 669157565 670237393 684815688 353585135 650108764 596623625 633009473 255683024 954380041 658474793 121604913 394492055 212125665 663958570 254229378 603646123 766042746 647358436 908081546 447441075 289532321 349901644 981233311 725656472 923691853 249625951 197589664 662973320 640554170 196308284 681042441 944997890 728484629 306848333 384440609 321937401 471901179 476833291 511983730 579122248 443736277 827883370 409679347 678827596 576506574 283881581 722858512 279894815 976013562 962993497 522548632 787347523 352158125 216032333 707471744 161944060 317863691 827996421 800998520 821535593 621245031 298947411 475941714 732947575 823067227 973488638 573601362 828072601 188862088 264839249 140149929 104945950 182636523 514335911 920131086 796142310 656684784 314491873 163006641 180235026 214512021 469758592 316251203 191157574 158583598 292868175 539421738 397663436 140337532 104491160 974235271 169467468 792419602 278890809 156755090 934088409 322676522 453640493 418421308 116428330 817021481 502299830 277023649 266320862 973667433 374505360 550876714 241576861 292671100 952972933 448826600 521585471 137562977 100116058 593602606 349758859 633361260 303898445 275143040 410890988 127084860 524138476 222841864 155967934 346785309 663086265 857283602 418747552 613061862 934441345 655076875 236768741 719852594 849041808 596705322 515763074 553685600 136283582 720816342 107060235 506805754 697078448 432763534 700506213 766137644 295195789 397446606 183277893 946146284 504612273 532479579 386991333 518658721 922704784 102644626 714290720 908578102 937308983 649535583 573088328 647437714 589985632 705687848 534668639 826091896 211092709 111091472 321615582 118609082 709644417 921870729 354382755 250619588 823683346 333656753 139718597 354807108 769558259 348743560 733954608 953966513 214096502 796066570 555540808 990479563 758626445 440083344 339612830 689820167 958474411 121049604 708235233 430696926 969839070 731312533 822790020 332541255 723266370 950044309 880269853 546781909 926752307 924673863 381864239 144581353 781804238 278120200 189555263 489209716 758356792 112775061 173962615 443295466 108203146 334420680 996004541 658137365 107487340 488792037 379399091 414310470 559415725 559403347 341533773 389127138 523427772 933466150 728349987 459494561 613249929 948647762 768452061 202110235 879191446 442254883 824591407 425784616 863740067 406020618 527184843 695791975 936734156 929490921 428552047 426678571 111611805 525990574 911889751 193781914 420217319 838660060 968631337 966848916 390289843 379935682 391303583 859629318 192382687 569509351 125992347 305867842 682986826 165261065 280258800 389623960 943325682 459314819 408266113 715513621 687300905 672798909 267301664 285396038 620864723 973954882 259809344 862297654 159975147 693246563 767821638 972036006 426532123 478648150 112862043 167626031 989229012 252518070 720967946 760636727 248923784 448784514 252304758 167396068 672037571 812589279 737602256 285677779 650478437 525001699 570776141 978996473 814620656 910756992 560624221 238186474 583520911 989346621 356051036 789279448 619899388 171846830 659013372 705790315 460181066 743833003 250508427 574251393 868314962 516035246 867456475 449136358 316122543 171588400 927898673 227064288 810246375 898245380 825245068 988507528 251451212 380285923 893158082 594173554 953314137 973919018 830197308 435270970 990693709 173019895 826097836 612058556 611554332 741972563 761161908 662746073 907331935 496397927 658791430 161425919 914498812 220326797 514804657 290008512 200427708 328062971 881166181 636451458 634604991 508525557 377661349 318584384 561889363 375871492 957222819 448581022 674186710 830062870 980682145 274172746 909471384 338597736 736340482 872915772 253091165 484674241 262311343 173946055 552398399 353749149 540090289 746331984 463132123 289515045 443513097 182879411 947228801 983288149 101381932 526741302 574870115 278064493 497394032 903673937 361680164 600773934 693994216 525971880 860817093 119853776 162576569 798173082 492708900 734881870 197226612 538619234 707213480 601239997 263524706 240700731 341872435 451232362 500340298 170207062 196985440 235607101 484742456 493854130 910190224 752910449 707826414 267180789 979290085 779369600 214374658 434999076 579477193 766105636 149022333 230363860 483873971 727919250 711773476 357526991 972157903 546829169 824763914 707465476 896601373 475300845 963452082 277621979 416256169 610205926 279578689 101225324 906582583 762156469 513864005 216018781 553356337 111874759 942423307 144270726 646441871 920017525 510892828 314692419 662251540 377468252 251025011 328846016 108436287 812989007 381583899 616297231 772606154 231837398 466165598 223084970 704739199 500784558 692751466 498969507 551385787 454637316 106281918 963842841 580256829 932121842 337228503 255906504 606490506 556479371 896223414 722225086 872989976 244631487 164615304 749565847 511345834 479956269 926801941 736468009 931080047 866149972 629967519 565897916 146094911 265666644 318714197 769793747 788208325 295550541 946705784 713635675 244996930 662831011 636873897 927207786 794054724 904102635 650038900 364906457 198578976 219343021 299664334 293068408 740156988 346350190 709233313 570644861 772605184 969708013 424509808 520686380 704297576 618854516 501954894 952885088 756211516 318305117 226313856 414361625 310842480 613419859 219993145 240961935 703038219 152348788 870904670 594271408 655195832 465695053 483583774 737696589 520203496 409328245 218131900 404898031 171996782 944844169 120121001 821932855 265020812 397821816 863500553 635056405 641387231 930268643 361446103 760303226 160355658 143283603 442545442 719593306 499834988 764843671 952123800 136368799 772356746 650665889 558361551 140220547 943506193 324361192 995683971 586391474 776350293 276530729 737913379 844178596 429175986 911303436 849370307 191912243 974790634 702863592 740497535 430711925 974998548 409275287 924408967 702525045 313059740 401213336 241213890 717019089 615571976 814938193 963036113 846608220 868098999 113795749 958662280 322822508 930540254 684976412 865974937 403197734 457745045 272360926 219496389 414780251 618876309 884437309 642094556 927921163 273071752 325574650 415488482 368346973 851130807 806029484 765863541 192702444 730779334 622357501 463856299 294209354 777094454 837103906 145729260 669618943 807122587 849695562 189053541 881798463 109746347 964382083 161539217 815633608 959912802 617609902 279315121 366393268 441979580 309833948 313725851 495572672 949953307 552270412 936552588 308317584 400121290 576601021 550003849 975113452 642508764 686731468 365967131 645333599 872642095 173077040 801132973 516712964 379687961 258601235 319281990 954927265 200418443 973139947 239599182 866283340 388262014 666039124 182108361 540992304 318893933 424561376 642635031 587273013 762100444 935406660 925681403 253268570 204654570 370322626 435602997 394614025 797210927 389051982 433484327 727452937 854470166 214090010 747040911 875462736 549819890 740509103 129232456 104960082 186447142 634768170 901460083 722173989 834881936 939495544 403360602 823382703 649558778 682531953 274593449 990603161 238010812 374485404 118776118 946820848 185499498 198262770 348774250 675481937 853968309 894400080 777063405 711904858 175005737 415556461 876564563 712697672 520065103 892494694 579261146 414390822 269872281 946539141 743673140 440634255 752604674 248485200 173189717 379079246 934964508 843786701 679715079 694459405 458232476 438998823 100692473 302579977 864835183 900370957 896163372 435059885 276216035 274453931 447083669 751387387 931265481 449936807 171373099 849358137 277597040 696091043 553838797 940665651 661961863 322399171 627902447 219381845 946174483 437757984 840312595 208782089 756185238 343297434 207694276 335025868 739663844 193526436 128139069 286899654 584561911 367553081 551228441 349402606 511478074 176769982 534058090 650748436 871165017 264439469 114403997 820054305 716334146 758322446 817888813 524571643 405742689 693301727 718093001 525152487 422249342 334744433 310550699 846720082 286936165 292971519 558742941 508849161 549897476 413268650 993438625 148339132 883999025 703335125 269011581 999870765 987878473 550501486 952994371 851545777 572439440 458323725 157359621 973532583 738853301 511525874 220994475 873264879 933330224 789186242 571294165 903875027 920903977 588206431 482079356 718158559 183497450 616804436 555029472 588919419 514028536 188286866 988513683 251579523 327058698 955178200 149533423 953149949 346959167 501784075 814434291 423316630 218307531 117338754 192330458 894250990 444382225 757139245 369561441 954386689 868777284 282050198 670144391 159278133 938467038 537630565 127370961 518437547 637605303 874539901 408960903 306445632 428172869 838211304 427937310 659962833 197796459 737881427 781658021 618259382 228645907 966273205 817677639 852444112 688835374 450692768 133663585 555927186 223402006 487931857 886833641 769375728 993468473 528392496 806760616 501847161 861778641 794041852 726066580 734424881 669407721 599953777 548501759 478903472 977166604 210622671 376864117 253905861 183016820 858240256 975842173 137462068 313305749 835912856 259805034 466377588 918747927 351481320 815475690 285376375 876185158 259333900 304460372 277807915 582717931 846688775 280720248 884791505 959628741 869162856 311717624 302974673 787765971 393492218 868357211 845269050 205821697 716439206 266393217 245214886 705807278 594258027 755672395 496355095 464827300 772183543 863027752 624400484 644978164 140689988 844151001 160250643 493502576 124109984 981801644 107561481 418835829 549043129 285605604 784400270 306500356 569369318 914695441 781227620 137090224 524500894 169286989 109236925 535046156 476247751 962863988 807942666 580225881 745039896 322434515 376419474 958028976 361864714 979404070 157774491 471889038 295326105 758247668 828685543 155757002 894349463 340932912 776402390 706769561 235762411 309363568 927845570 981795170 836494087 260085802 598135407 938990103 638611861 793364694 742256773 307963469 129324696 886771841 273298517 494059254 364637960 103213005 507749797 302334635 607873729 200435939 926758314 621100813 964979695 585579517 376394298 937750455 622260072 649097447 285526733 474826627 165268764 126708461 886358131 438566356 196039472 801735633 148345161 132597700 343295269 369526971 267461940 476939636 150973355 485195327 841477551 286395519 197573290 385990545 580095225 477246420 587683285 654751779 781331599 306429040 510846343 196986640 769998028 882582082 104420769 816104421 929501351 267807310 738680562 933884943 345669941 984470085 984784409 258829777 479778552 624282701 346645042 240668766 723547520 138057800 434380516 886290277 487085062 187366125 710402858 101873255 221999868 226649852 939953409 773511831 198809084 540695709 961347257 740908642 578753514 973464836 705591563 872574294 699045913 366655832 814293093 284885356 194883385 485799365 902128163 637594118 970139917 255139796 777433313 235558597 118053762 451472875 881587716 173717747 512429992 680171760 191186890 896244952 600952633 759783944 900063534 921463179 500750055 803256833 161666432 735138706 393822944 101487542 126534828 256445762 207373712 917747211 856481643 707284355 508980156 394555650 808227476 620577118 931871681 981725777 538966798 458327171 198277698 584848526 821779308 102733228 228135170 666436610 893399405 888107018 816101206 630376118 574678226 596049544 597982876 524404565 264250283 259555776 148521784 822261393 163502992 503564745 131656032 566433984 522264121 142286395 992700787 498225956 409466161 875533001 229373049 214453763 401699498 801093214 460742086 845678575 460789511 690161609 361064348 471250459 988576654 682320062 465074292 556263245 744804811 240236828 904759933 362134483 833776663 384686981 517385628 895763954 842687623 247110768 493619662 159168667 159804997 396991883 348304835 497253611 452662614 354042476 446725613 239040862 831853467 772610692 728242801 241401502 842029833 642829992 345446745 348856680 902063607 166550428 600640919 170985344 760839340 197431595 606667518 620673600 728315298 336521752 123598133 457357550 223521585 933698890 700285040 732581835 683809443 428259149 885424016 731508565 306332419 958133402 485606931 547115174 479725036 108516956 131122379 128820826 133979591 766947265 333459105 860153102 943153877 585905215 589046647 657778510 258444149 230541881 220524044 352860079 690401259 657648184 525714261 303376545 858363743 513843732 636907367 261248347 771649580 583702616 336394954 293059154 532010508 724152784 356977120 515500414 173525520 387636357 673803107 612901882 160091362 422149341 712339519 567865699 160617631 877108593 710764693 895687005 717539140 762146949 432819910 946474148 623888910 817810421 504131653 419506373 799209799 430242840 812021233 688229663 713146194 378997538 876626628 861604766 820147331 704136164 420456669 766193451 545571425 530960413 788896160 874536839 326615231 835085727 533620407 278094254 319759919 821005137 889084779 513759092 344053442 635022327 505735813 799076580 722632021 656017254 886972476 654304550 466339351 200830324 999605751 866704291 408695832 290829279 249649135 620279461 483939534 290013346 560986956 501080782 514158375 262142731 802254796 221669423 898624344 846153854 933274206 699808202 828855397 209310085 250530527 581350436 241736629 179473962 446604596 124919338 591529037 288444481 395844235 354236425 491879713 438459025 966276534 456007375 696920823 144612863 711442125 151549201 167308071 584463476 374605510 532922380 786489133 842910706 880049941 898830455 509188223 617227211 290039536 908424484 245676670 215763603 570824633 870384497 855926908 589687614 389115420 379008084 937596539 554750481 837595724 494135393 683348195 414172720 937888148 357779548 693506947 322567814 840834333 840671862 503051024 561175456 506047421 338996443 379706141 810675080 406266475 481655591 131989626 692384744 979315951 706505946 962841629 362432152 904383768 106219991 732919225 562069311 389141709 936848415 203457618 250415893 365624855 277359075 505997703 879265979 872846188 532963070 533225343 571640602 981831153 659151359 538674361 357457874 744935411 341684093 780381889 626007911 698756847 836820010 295458514 779649713 101221786 931530514 163565805 843567522 593053937 541878065 168416771 147157440 171819425 647601563 779272408 405256290 640989470 201927383 967315574 533140179 602343627 758530415 549381249 187519003 273418784 723629515 255009317 916225318 214157229 467595729 125639182 493529993 984359671 817381877 349253132 388035447 183336106 167365563 859714487 980362885 600987503 745718100 199096188 892170187 577774168 165781744 144013672 628105465 234802558 510656396 768724034 251221799 252896916 345206638 278328759 905078738 446946822 622356375 952884554 410428570 557569699 102543291 585526866 938105175 860796104 225372054 965574047 681465637 844434405 202813075 809571589 144739766 541231180 419102534 296326017 170885425 643150210 355941498 274742325 938132371 964528930 402286018 543958930 106698333 704434978 228700694 821443750 673158135 234177544 224858051 507798222 550915035 626796711 929710051 904981492 501667302 909295604 876115592 971896158 841709867 968514186 437225574 960198247 974568667 926526902 544914073 797743671 293237392 234569623 208068346 443215379 143927639 409577199 179613011 151480744 577856853 191878742 806455573 732162829 146107841 661636655 142156101 522087397 468973243 806916760 973831226 474935061 140371096 985585483 685258749 964725848 114992999 697247036 734844300 566681591 814931840 983079895 528482684 613317486 404174601 323779214 131478490 310090763 305088835 826263063 949450171 185688940 907049732 198907994 529605847 342377902 869079796 849700216 194172848 105966240 627746082 672238956 935057295 654173293 361752827 125205766 738572077 909759051 871799369 760189717 471502537 369794349 787600640 563752894 936009962 808874807 234720743 403205034 643425908 592065265 225678867 699455972 933529541 273639447 440607149 303732223 457203620 899774778 612216284 756546240 762540370 814946709 795812956 727537576 985839384 237312015 934978467 998344576 376976598 778146922 196875177 236214257 786209277 638927278 494691664 959932858 659933435 898645299 352783705 428025387 662591776 470074397 318466265 198629804 239368404 669958320 267223087 377064455 269509467 770643574 380276738 900548441 168896962 543696654 109378995 523871186 615683720 722775540 707147293 854411074 713265285 135762761 167683624 604675613 277076563 454709407 547433533 108489915 903471033 375984767 361888532 457714607 477590177 350948746 605793987 406247354 914986985 420985294 671862886 200450361 253939162 550851226 930625601 693713513 820008395 335919302 783463862 771145459 305151672 318379696 498791317 976421960 171385961 828691708 525002704 264202398 555657666 239596861 974129503 177654818 413411457 581580657 309723928 637274671 805156497 544215028 228011002 313723268 365894533 459714872 636542606 238629661 424589885 543039462 220465763 350556144 745254317 720473873 901632180 193844572 326799723 272878685 868227784 907721771 753140477 610104308 747927016 367940698 628125713 511821383 651202448 648464941 311953875 112044182 312487652 617822414 348183443 283518190 651652006 380453683 240452170 466431698 999995522 558214629 909389503 492034614 227481457 341639701 560777283 872784704 312810451 769583293 449824651 498225633 454353829 266933430 782195539 236260513 964699802 238514651 691076083 501185799 736769905 279685166 646974104 440443768 315760957 766914327 275619678 630864217 790688932 288691769 935967844 168334953 298086409 180746383 184693477 102379325 724612921 931544430 989969679 506016895 986891599 951887603 718871820 123151639 495255705 309458625 975365701 908032493 415371138 880384908 373169601 108870975 972972699 688428173 724967371 548957653 933126386 260417420 808047057 443408661 848459731 293615014 420490679 576113253 780739198 274962669 317067704 233408631 334825184 737091441 654687643 475124786 592623596 892822935 767265880 266301801 800096630 466488823 526159634 907242352 528504092 259508189 746858789 683319017 426960383 720933745 803577015 143925732 973392640 521550377 702961373 897104049 405170822 668961073 449043415 485470401 642734733 984663174 910328522 595448275 377964677 287719947 928311931 229245825 957044163 455359981 167102703 717255995 213469278 326708546 503227512 929322086 218335632 229313980 361068704 456356579 245547805 968866915 415674389 900568428 262534862 950361059 136519447 811225898 504017180 498182447 291175702 547127378 982102654 450070489 988036117 362743429 361959529 369062011 427787561 331296072 101106876 811565620 418042774 748823504 306588743 460136207 809469970 338956411 828155182 697920985 606426254 940034627 435259654 491250088 467269674 232295258 518968398 672007348 172896016 922796094 745618860 555660700 502206926 595036169 449847431 480640408 551703009 903782911 182004120 976286219 992574460 509538336 108455052 129356284 519911642 410883738 927749458 747122608 913436254 829530282 284027889 287064578 832870343 305014263 668239330 667891506 509263839 206707363 637882431 750410299 398358767 194808231 618808713 903342735 517551399 892321272 270833098 320237367 448638230 773271339 283841320 601863743 686026288 196582280 831201003 489716662 187859416 213210841 215273009 747935048 256105247 988864567 862233656 133062339 537290214 163034599 609588726 952438835 574894893 168409129 917289727 608993753 989898987 906951673 500827860 450299644 154883671 737461334 509333642 122222930 801439451 323425579 677695757 704459036 203057436 236384424 600164140 820748289 811764453 398357847 700947177 551160422 153988730 979143801 325137761 910063642 193201861 171664687 763888163 821501155 101888990 661245985 158284119 923380928 563955830 471247273 690768433 704695357 342966449 879208682 802360836 797254924 264569187 676641800 353884005 577668125 557903631 286018423 304660972 802821981 652365075 424131888 977329961 950600232 442343916 106204674 319651870 511610581 614325899 469099319 560373143 216811412 802480620 623574800 268204904 234823129 163321078 983513358 643240763 253925215 749051504 816535688 972886697 341080676 339951360 719316097 399026042 287887324 655357407 851768264 751967229 503075326 553467526 413593003 876751311 379401283 229052696 657954932 755744016 685155551 120318656 825829365 690115104 875420128 463055193 804643240 505839299 153687995 569010422 881740285 668344407 819715969 497570121 836439658 385580343 512881816 419552438 646970327 779180989 164384927 961529229 245155270 152589452 154952673 372104096 593338032 821141352 391157678 355309986 334126421 969221744 542715348 911241186 232896004 765208901 680720703 865322041 127385731 653188028 590364019 111228696 813003947 332860887 343646459 678228894 346463126 703944420 735625777 552929103 147657917 472259760 859301600 392459280 584905410 569212815 363609440 431451633 586138774 531677253 248675077 276944703 808377635 153745167 607355527 347185935 138812339 145538743 915528489 499575234 623731088 687832181 884738057 244809650 129446985 822241242 573269594 499901702 377996023 932433734 415497981 532825583 170673849 811625374 640000266 598873647 593310025 436475439 602551085 140198016 371734403 504977548 791975416 210835712 147909286 444943503 740145193 468489021 604966349 483593784 865057195 872248352 426868491 493059102 344033919 442283909 569564181 671169295 584862845 996824153 846714028 880902578 874727800 203431877 519299648 961244442 303700067 324150963 944690072 979692531 781807592 659733073 187157363 592902165 908033397 475522245 699250497 839985021 924247997 846740038 359497357 323692828 602948718 673055192 835648308 112376609 402136738 974046679 653357941 551637961 224183781 933261527 584497589 395178044 942825329 213407150 655568058 428166008 938903761 741406530 814084794 769887092 472490510 554537025 694559340 736861052 186714940 323624784 748961764 425508059 967439621 760326698 825956064 140664150 283358423 486474192 680858801 680218612 664841941 252201685 760968666 835610131 912919884 377129292 759636055 473413838 454483160 551302357 467018763 568695022 888779370 904148059 669530442 976263114 863322633 912874478 117591838 913111478 213820486 354636907 983808710 421628291 333493999 944718408 112958342 432036639 351045441 745270909 312512295 462464267 566048271 904448990 356823936 429215079 202264011 445371610 170763207 976882149 227993228 975276820 938889120 555227396 315718936 629003572 593584551 306864398 731315132 745231750 445187355 946209595 743700962 388334086 601487367 459093757 674547660 383934755 404340851 304391681 994299345 117545124 578088668 704619406 276153787 919176113 444307886 759469828 401872738 453521372 673197166 782382148 278695599 193510460 436793738 574536761 715119321 229000830 909730551 980452355 926215306 614350052 392099924 660443512 477929189 700074043 887475447 920537607 522950505 576653448 489148561 280724490 590708301 835915516 389341280 218455799 340872563 406902742 529445829 152666861 377156805 143702386 680286321 233742426 758613545 416805732 706456437 337348367 837301593 367202044 422929818 922973507 573380809 142148845 538264648 882016881 376697628 106648647 811385724 623491578 482165928 828504529 225900581 984795134 308134647 902319904 156349149 120476564 599668669 963978173 315807871 710204354 144589883 241500314 135492500 751590141 293962807 319972080 798929686 745603868 107903937 114043776 265331392 515376810 573674934 684327163 842043015 741734273 428527431 970939136 454216458 202726127 452326029 810391081 174057596 752419514 424116938 156358532 579835833 223238732 971069810 820452412 363986551 287799607 519775009 461456344 776507097 351104385 332097577 424696182 127409865 808170989 511341244 903249849 324480419 305628181 486237436 250106899 572271528 686047628 952803322 259849943 405907336 910640226 592836834 158947509 645090920 511513915 784206164 952275749 553500819 442796688 780063660 206528135 786527887 967389630 348331709 718294341 675935423 450682269 794943612 345756227 883871197 677185829 139215555 700439221 669246434 227434629 428729208 370222035 638506513 342134985 706712468 676881983 605310332 163646297 597157538 210046102 208060152 124784792 814433738 312033596 602879966 765587423 436001108 474819356 338752957 975126356 399805197 357927468 496926810 912101324 448829556 946073589 536591558 805925562 671397985 811366834 141178825 475028972 587644346 619793280 204144466 935559029 840007802 775875168 861429295 645215041 250023608 746927366 708861968 773702966 168756565 564032689 620528184 968693905 884053067 362496908 241983846 859512484 511273939 213253485 970989288 155044005 243171344 527018922 485568183 737954995 714723143 319509508 166162715 496004188 764674919 247158684 122802636 345252970 828412491 142428877 236030165 311172970 144012227 163176615 202872676 914712142 625224351 617896024 492913090 317752315 445507072 962870627 590289078 431428890 298734660 247604466 542828025 335243584 534560247 804420395 272763928 467654295 970552316 913711396 384456704 211365081 637422179 908715069 301838521 945616408 455448158 360349252 414481416 178851668 618213953 198034372 918487812 521694251 216048348 158522215 172450666 509247608 513792243 131249812 865168662 321790236 873168688 999274124 867187783 567494675 573496165 964843387 386846474 702999449 249030588 409846019 843797307 946722947 355362192 165651019 309736755 917686727 290030660 453911052 655036663 750138485 622093387 715296803 875015966 829080698 203188940 782985329 296988529 562661808 758344360 944558648 274452008 919194693 813943476 232754749 205121511 958155344 942093906 130231250 584226248 317603962 692081876 724204998 421649472 334217246 226069989 394727839 915468639 463316896 975708711 365196096 389521958 839030718 881602575 412636851 346523153 751809180 972746534 763144674 887830853 430572465 245444962 594376719 800355206 471394028 988387130 479334901 979091227 366041623 529925336 977431520 752708232 992165927 112480186 607980024 745852245 231267173 795460325 372192611 725071698 919101390 821356926 675398565 251661846 994336919 913917141 126493945 163148623 406303246 547402122 563938328 125030323 543128886 504102955 200811160 917799205 162101939 717025875 432150819 860651094 578744105 519774553 353235825 851934485 933935781 535772932 309383608 445962471 997257729 329982697 278800208 441866286 154630130 962219046 469720331 791761714 243432264 405893300 814230735 158648532 639391476 217239695 906020365 904702506 934074450 311215853 109843659 389762325 846966866 498640183 292642548 378253075 649184633 277098260 479534205 254527429 342977521 216566334 339153038 279659405 157280888 412409130 681348673 555363084 955392435 476490764 227753783 270907947 641370588 271820180 899356525 717410407 321745805 239366870 492540405 231416774 994085692 983440655 887797990 310035750 709423755 500593725 250058336 138302242 190062872 328747381 393169163 795494731 863456738 911847539 383823927 196908348 155237528 828335661 353625074 413922798 812168094 161111666 287551429 158174477 818147935 245495060 597875330 551134626 930680597 574595739 376464149 285127199 822783887 844502441 989593839 976067516 152098739 770792218 981790649 989524774 957331414 187728458 311177710 714475648 974239639 154154349 356485459 323725897 384905162 751455814 311820787 973329932 589936261 777064420 490642279 585763826 656808290 822051840 332864159 944224862 490087914 766483762 156330953 484192958 194894074 316715850 264105480 355401649 944174875 583821068 180552635 379701124 573735518 974564619 713661613 119140964 221252807 586215062 696158363 878671528 815221297 378532448 406384166 119851630 194004352 714275566 974440971 113540221 347740693 313183297 773264175 826639421 478849021 126861811 784284925 553035451 816086784 188643083 189841661 831734596 461544503 602505075 808594037 399077464 140583114 298619319 971422787 371630665 943760085 293030801 916172472 392667527 362815402 561168164 593490507 723018441 542048275 376073308 870345759 553624987 893151061 299483875 634463915 989057994 950988220 330798914 806023808 481229066 218230251 920987265 233009055 526786213 186602434 624395473 802845458 680913320 354672448 514381513 478057563 749576176 240748728 907422171 554320679 590987844 324603166 261356877 692391992 919624041 291082732 688656462 353508286 570230687 955124045 451169204 870970349 837458893 177411955 516402698 853283063 716870232 838117497 682053342 320421953 258799299 821233909 654220774 614662892 166603248 280903475 983761619 699723776 158150472 576726059 509537653 517029517 379328970 362384729 197149793 263122920 262199519 661829387 429366712 225007715 747173203 836034372 940085161 194467910 308734698 131559927 972473231 292747100 981377373 424685309 441996648 175057198 140350110 722186136 338407035 957334007 793027707 352206024 876944828 880070626 283779428 501985513 759941490 148441386 126624508 999761088 792824874 657614389 365783301 252867230 393895042 614424772 160264146 969347546 915859250 344357867 796176309 188504837 691806528 304161469 282264560 800741850 253328262 708368485 406202744 454866319 117647779 623690977 478631283 226227336 433584016 142710540 528600943 360681487 205357345 897470485 528230703 716448348 283465417 743519624 978527112 946449304 574953145 300698149 697150871 540642261 737314261 821364375 211208687 103292599 256847549 240512069 733799910 660846448 464091850 905065306 444868716 293035334 335911315 625829553 873543762 479024968 566308073 462821441 835083107 919259444 233411549 115978223 376297907 357160905 436036335 879389136 191236086 604800426 292250031 670884072 717265785 229187083 706357132 345630740 890645440 110768327 397300174 878219272 313494215 591949806 810335809 814224697 326111945 586878158 910863298 983728197 802642161 361028090 585860123 466542114 484528136 395110482 798158193 306424558 329191383 956570840 990017425 627604912 568816133 973556231 482431424 110090218 387213384 699969166 586195835 751166878 544905826 276752144 929660096 545120036 250661731 865891694 560788397 418245827 852988569 386381192 457944745 474206834 340485943 736850497 403879624 189377708 620864812 798520189 958898521 967715466 199338577 471453280 221917287 828829340 483874523 348690363 910826889 271026934 625172542 806012837 353457719 929673167 881093698 696385272 893868240 784657089 358848335 368904004 694957996 805310805 223477815 915637957 413876206 646710400 851624541 612158721 512297322 954638551 695272516 198131547 671302794 863810830 732687902 769214285 352534369 507152171 810560602 660925753 420678658 106580505 565753565 941349208 985007585 227642933 546630690 994906697 422313676 648183180 481752957 934819018 745053719 305388499 406959134 998881441 941430664 859824481 662500702 618851479 891876288 100124864 233788153 471479314 640878915 440101904 661631830 510812182 955662202 697621048 517455822 722082081 654604793 696725020 123051416 817345485 706235876 836306418 848405519 401938779 297066762 329680254 557852838 674223054 186905609 472034529 805017345 268538853 243598515 786644039 580003167 514386556 910634638 763122820 666006333 864594493 979591560 456341347 665160561 810569096 698345829 823569900 625736603 423105285 702625441 305156120 871327131 794718025 788668407 917072767 834013821 534411280 228498581 167779718 347297199 111494880 549311314 892405818 793516526 702155122 956294214 416786336 410665242 763506940 811906339 581853646 572582888 668904813 736544944 622425282 203555642 151289391 440203239 499612670 182759251 233496622 440724971 540705591 219329012 681195036 649030530 367790363 896635042 146885979 151295858 265732884 831035226 664735357 307333960 251584773 604262237 253233499 131221927 870999344 826512705 932884391 283194420 969678037 220492298 429309559 807584073 604957229 753684868 176645140 464065271 180354850 232566428 456325992 218790511 839488054 739821242 825546154 846130634 662937544 223598857 872218185 988431163 731037888 960218247 810347062 994303858 227146313 231397551 607186834 550991208 167219472 113732399 408523430 948538252 488627196 765164763 885779027 716852970 407598313 255762164 473720623 577198401 299065057 653794220 495463898 289834890 202354569 503194510 734649747 678721748 512893992 565683696 107082882 277678846 339978269 440579005 887401246 848996274 622083236 577110084 722692485 753446877 444419678 650486915 833421106 726951934 194514060 271848059 636861207 416679916 316789801 325757137 926239197 689993543 413632052 831004330 738135993 223170780 162667445 839191725 678314141 520368521 627393643 656589972 320538627 940313189 726097087 339571312 166047616 530764483 962028272 499015931 390675446 125550790 269754585 847097156 785435530 173162443 526765035 952946145 915783974 827249991 534431245 920384436 728129773 728079980 266569713 261946004 576034942 870065162 276458601 163485088 510274574 432855846 808921970 126053089 798843139 680083105 412161559 270399913 884455220 265138150 799562592 654763625 609789165 756705428 864409439 164190749 460688923 500846498 739159311 372381531 393120369 291922157 187925163 638245323 310764415 873407523 903055994 272702702 428962361 249372234 382893481 151844907 610997887 283580025 103348957 710354324 433060628 372068550 128107190 794476840 146692249 351645479 221475842 288953516 482251635 748936331 248629220 375670478 422719799 115581467 219928921 341846490 116459268 649475753 803565750 625527603 275552587 953475084 161583034 579210751 943432160 567067781 236215613 807050397 917542345 444962338 744479199 654642181 211172618 551562392 615084365 453123335 539885493 127541583 880992719 885052629 154025202 938816889 933541196 255940195 582854151 124087187 868994993 356087912 581627236 728963004 478976911 791895914 770779605 342079109 347006521 878345541 150438373 241417512 870893829 519440260 857122636 375885008 898549094 290869330 513472507 827364116 366287816 202223307 450329610 305522111 357360934 447730216 640122676 744082295 951435298 828501371 232258657 632773631 470395741 718351193 402250660 893660619 667768949 308027597 801315531 811035003 971218114 125364030 389670947 656260493 247938714 981118727 454461169 321831008 928082053 755938333 917019990 211372258 586811908 886941444 754280488 612315503 617547808 138050486 158175025 119303390 532039667 837631988 293218681 448020369 308681324 869806654 517032300 595965415 347293288 350973014 369398940 689738668 178899564 977318879 968386632 762117013 923879986 748883816 121538601 965674881 455790300 813929378 491861345 318259890 121660176 958900856 176703866 386761690 961456353 872907129 856492022 179992105 799151460 586191430 689596420 744079101 325417986 619200415 434077819 328379468 127736470 154396182 384373249 814609741 434315261 427861596 484898529 672488194 127728081 854503731 197142233 225167519 537392431 781556905 671357971 108685276 813322411 261038664 724708046 928120373 210786248 132674806 805744240 691226072 473600454 367763954 213234454 711823470 773189555 271177751 588194643 669066553 365994988 620984320 663558212 701096232 914115573 905290243 986244437 313434219 396202473 730038476 290873264 301349306 472710945 322856121 602663395 257945379 818893060 542782798 723407167 302735232 219325743 948200593 517307680 678557297 395869134 500533928 454878467 134815651 802746733 205534816 124753927 782438147 468157176 602158509 734575856 745723040 205397363 669369100 701015576 167546003 763136364 598811142 666886503 598543408 738255573 579322929 374412455 532514119 775435535 750766017 262550676 800029942 481638694 462434841 441979338 313183456 145356974 567216526 764345527 510514936 286363449 542771807 691115313 670568309 403028642 144609126 435495743 354004775 490720118 923748258 656314373 856474188 366786934 620034638 976629650 915031439 576987414 818103503 999772250 633881740 624034683 199811386 490922388 750440361 636322899 735552614 346812964 963190298 373792177 797403329 217878322 305010934 602707956 334136345 299909167 569096369 447630352 265700035 308198557 226193583 567123017 480586187 584593918 163567419 793873609 427455030 844162391 262597859 923491870 731489075 194907297 925869044 379844400 147722459 348974886 159700311 117336499 865120323 762681824 426295507 334633435 192322827 364041044 988980880 212050798 236515824 972412444 229663789 320450623 619408623 904379800 947962164 308632540 738089768 558091556 182275450 241145027 249640462 266321752 751069868 865125922 951356455 132937297 289734733 913500750 175231101 752436928 853516713 539503160 225343043 636300316 550545458 366082521 830869670 806521152 921139184 122584461 203306508 316579646 587100499 908391768 822505960 983918651 888971524 305859268 378087628 665023206 236509225 378068248 774137437 951167422 972183947 465611671 545630952 244910814 113883004 999836185 348721397 739220260 957221795 184241698 198499145 306081625 381054134 586736986 940485270 327893562 923630691 686211071 613463129 965735383 858960730 957759568 591026827 619357138 285766767 186619800 191242232 879694797 208087423 500985325 817360586 866949660 563169190 300571190 546999297 537708348 665970373 302800846 825789920 467022074 541174465 208754921 608329165 294869899 337961036 725521151 449307154 827953767 326421117 717090487 157784160 557807889 863485333 889941942 395919891 973312441 779503464 512517371 156770580 811155367 504768603 837266740 864787969 244123107 396472288 463743730 135476996 756234244 129209690 609051231 550543569 389325008 793101621 278256185 723552373 741229761 260891915 231710691 745404767 240448466 504706827 222407055 581158182 961578480 723344597 613354978 627058962 739809037 936073240 556924413 253760728 614395892 424927558 389474622 382637042 623211628 924313083 505175605 846164697 940101544 576378335 480674381 238203279 545966048 921236996 322076625 150644583 683216133 883086526 933857327 361879580 457036784 434473757 837540353 884296687 592768049 363120332 623197751 167821441 981357278 530327083 761229443 538137970 766166777 319729031 570815501 169327930 690050232 230802908 176219172 525826265 815293908 385542501 563640443 840931842 774437541 306881039 493809783 686856078 969183509 529262929 934365883 425686083 575841179 707498167 831219503 185008204 178646833 578545958 476268036 251788679 341192347 818152048 776864431 608238085 650564249 648941207 971812040 378050535 705519923 287391290 987127312 168186386 334926613 905202528 155220722 724328420 659745543 643971283 533177772 433192313 945009106 576226514 112233448 992654719 130845628 674462462 800459686 169531968 879503026 657949574 529399404 409783197 956015020 303218739 805528347 625964834 902273917 615568200 938018309 473986751 486909733 158864184 234576600 506563329 994968960 531656879 773658466 431300143 260082723 927320069 323144049 437017025 907918316 181379446 133450807 181242170 936938364 305322378 490787148 407691936 104128003 291128972 358845078 767279607 687158898 442008795 805259333 914937145 376332801 708843612 761128835 696036181 455027890 850205155 928239815 491429054 959081408 785692788 207035474 879890019 414047351 547616772 238538189 734026626 296462373 357225255 520092024 158330284 765430153 691712247 160530563 663143059 765311346 518236448 292579255 305813725 581380064 589328466 180259100 815772500 722295379 631552120 364004772 152820118 619870320 411113711 434232953 907379813 693742594 172573920 108078999 589541881 610408032 854429932 929956215 715290628 472583841 299528880 974234605 976429675 417015094 218580154 792183189 339924111 437965421 844135413 927303282 627720064 230740669 277624167 269112463 996577731 946307881 702312475 792608674 917734865 959928924 182417602 739294384 611260303 729141153 590551287 725652035 544802407 383078569 668308446 301855389 194838470 686458160 938935909 368005647 654473365 984092140 860734773 414054870 856649277 297620911 561672767 880151573 423498874 572557189 433125536 575699131 210986923 149596483 872007942 976970188 213310903 184176433 414963039 151592518 640171915 784586712 622150230 400663280 224340584 938143855 303073138 742098327 973945426 361214162 413323936 145370319 653802164 324928437 587852746 535595178 335323499 291693304 740423078 880883645 587230118 512431036 717931169 509741177 147810818 986235134 361747153 283962228 144249697 675320002 166049302 367559977 189132329 888691155 355124432 224721825 571583791 731358927 633726645 132721212 195200695 504694021 645787904 121140356 169749963 796887674 807522459 129986312 331719587 136092737 425246300 175119681 998312410 887388462 417058495 731709891 296008782 455989955 793666446 187229017 797706714 255715701 205077576 968494287 207438951 267649294 314453465 789128720 136557199 902684737 489651796 168586771 315279337 991895568 995281232 351740559 213864377 519702276 133021614 643853796 873040755 400862371 551298568 535560336 155904755 230375395 191043822 206470524 400950304 984496105 316070776 110999910 473196867 233277141 288751651 536239229 155848271 707583169 594564779 308275265 995743881 743173413 728379935 373911428 398545804 881316059 484202009 498539442 279125932 697533267 241531181 855422068 325904366 745570010 130246299 743888903 776489855 665971283 548997152 953293909 149966697 565326197 563706074 799291201 114276359 880209896 913922497 934238517 302490409 585462064 333117439 977175471 876448391 134985625 382669193 578755248 480963008 939280180 775400235 618020334 264808071 551974153 827917919 421831823 423490173 205672706 180347688 839974595 122556894 648517827 338808865 142517394 857606293 472364271 168905104 485232889 962508598 240936648 275789475 632556336 833928374 207108992 145978637 112240669 394132692 639232405 538856630 652548584 107034008 773759624 386190404 323909465 444450854 637875521 409068423 494656257 928940239 129110944 130896283 452998738 787721751 303952926 274084438 434665315 453563820 942961599 518827960 751407631 206522358 981738433 849838106 391209207 658106163 769043200 295625320 170551153 142277010 503795414 892898860 646456121 203427104 947011659 877003555 456490002 321266612 347355223 136584258 356803582 439998658 730099305 458160906 816155325 249470263 785792058 460405817 617443663 190820952 441463468 139443523 749576649 315120626 986712998 874002260 192596919 837018758 496137245 984933812 914170310 959185771 306600615 349303914 181636578 595437280 646251687 522760503 855898615 713966299 132933877 606974437 103431051 407045046 489665959 913413395 530351140 114742998 327377035 511374983 353024610 964498176 212518145 641878828 253985129 942524287 222486744 527946902 155856372 338606902 693366660 407828288 692607913 403853398 539378064 991821105 922152405 143703451 820352288 790255917 472150076 927712155 462697872 150290074 849476956 878067982 862148110 973240408 821545667 632721626 198683118 457499016 610734710 796832640 789171795 273926068 197011974 595130535 777189277 596579352 181636119 108109379 811385082 387638549 745217226 651486607 850209349 902952616 111699836 180828187 863236218 219247566 955909639 325572168 450845245 801158267 810602071 989157275 604824671 222204728 280390738 380747412 312824499 954446434 449640434 627313676 877199424 903899114 967464809 372910741 839160404 459846328 480822099 251356595 207989937 116857351 241296277 912386389 479615314 235469085 453507525 930341796 525062514 642102915 649113034 764171725 319782766 439744680 794321484 612608754 215433684 738458095 263384923 382589200 578554934 467871769 201214063 460430833 443418367 562900832 803168921 550441267 501798784 830255949 178224785 621669879 252003020 316077903 629403366 794519529 115823951 996143860 238902540 358769577 680870763 353997230 606760825 670629663 309016451 606978743 769777558 324531186 748608231 357374732 958502446 152376722 866538994 681322523 705422292 791110417 219800664 874422866 171032788 363667764 286460248 618991125 878911568 872509920 279354057 928384760 351945385 231739782 333235803 977832627 338100136 331027430 332804859 875199530 653789342 572351492 557728883 353303458 228702935 641683090 906852285 598251576 860735131 257159380 810223562 344255381 727518004 311752966 552251109 212814156 175560877 433952177 534486511 270399710 218013996 305217462 436119901 130242427 408765736 372249164 470200364 784671898 504709276 832642250 858277033 217063706 250302686 368583337 744314868 172828880 545754827 370528207 999239149 231494615 964885723 762740923 206611810 766701772 467718158 295407271 174074483 838362319 281558516 810268898 746404170 292806867 412311445 472060893 318684239 295241110 104306586 315781477 269759690 174573463 335500427 416661507 885825508 869827417 499596473 873723894 170161311 672661643 585320778 621563798 150661407 728481813 143764857 659008412 958321582 380902316 819127583 626868324 667196708 556587883 403616926 316137121 818144737 783289202 914721663 841829575 140837261 122837957 544945837 501714205 795408272 201521841 569528969 908021007 721146851 373286516 244411814 703250267 416182368 621807167 552513775 630458058 150768717 539640583 746842812 480253950 149445731 955376979 111919584 131594607 719708222 292761626 552878574 172412398 748844824 472859029 641447117 797399840 354907606 364119338 868683584 369836186 912547201 918111850 639738936 136082574 126883261 248785261 260587171 755013399 236315326 329362051 762748200 583646381 400447578 280786864 679272199 480803313 325593991 465799218 532854809 317597702 523139821 375259285 683506018 591514218 688334148 872571890 687306957 418050457 231681959 913312268 268845178 579481491 549610488 748114359 415102610 733619703 442796492 595026855 992470940 913715356 693099201 130646085 598593366 428200804 574754174 589824576 262833583 326720808 837278865 372634616 738063042 613698756 585437896 800839192 104523071 343233747 694060248 158568226 188938035 140175654 228455394 161087915 266030209 526482614 137256704 444822552 203000237 241814014 313604036 948081197 453983689 863326224 471373514 668525996 464600754 423415545 608453262 755347208 414608779 465202640 334229888 168807702 206311127 202178394 154606368 543509938 856551959 194327854 809321128 296525541 867291263 891551691 501425418 474805054 222099552 464305199 330713533 548070662 727037484 776290134 491023058 306565959 181783908 637205175 662282615 679896857 891031312 883627205 734990029 533425011 703342645 373642417 667315303 730974492 375046953 426288559 507244618 256616356 192632502 237097035 206194907 543799043 252050865 888481391 405240615 444879502 300534399 901973467 664516427 644957915 991818501 634866671 804146446 453670859 942188676 583222131 972291149 716164438 946841629 836734380 998018246 176610851 268727449 315505784 797605042 181084872 182776228 783466475 647752111 184883166 678221467 841422535 405935502 738096463 727960888 450656124 609224839 260721095 977291967 832892671 560481261 499326039 905331524 979792289 662689301 775027839 238219291 805015975 601429440 455715885 734548385 767843588 539119819 761940514 274311356 307947371 654101088 717174905 256680741 807234049 974834135 159090561 947197597 405753302 813138902 942357549 653485507 608437813 507340676 489300230 477104044 683650000 128563106 373324604 999153801 440536029 358010134 966740266 287428777 606957945 824767730 705374303 143027292 527389737 990404672 846681487 382214638 102122733 996680357 321049319 461984069 259586112 872919195 844926201 329402192 101832214 811602047 843843697 349774888 195167763 165911945 793724195 837136964 538153723 897337395 597599093 221743997 544449114 570564336 408684977 956488729 890420237 961699209 250099244 327351483 865442865 699836939 725426455 466879560 396548573 448212619 680909754 894951943 642082499 953052322 275688911 575999003 379562926 401243627 351722214 491784277 601788531 759100096 102841355 376939721 749581114 985388669 410708885 821516808 949724093 998089772 210524958 591721581 737898011 811393648 313730729 332497262 145310204 112943705 989295399 930497158 571671411 784667782 358703521 946253018 262147527 153274814 992178324 551336947 159408151 939706227 578779639 354600494 492791772 887156693 708960422 293502753 798266655 794561944 819976144 828767896 495183897 101043727 117208487 629250161 969742552 966172243 328094338 414646726 555711247 553573056 761373727 576046556 240834450 388944033 794998697 543183262 151949303 751976319 582010670 363791607 939911543 138566566 967999690 463850472 954981674 186763706 252902161 171539791 474556778 202308011 796335652 473350720 696288525 653297019 832473293 748038464 977507295 566365852 660417631 636975455 456953736 610286120 172913864 165361104 580162938 760701691 192157248 567283455 247142302 269477130 284628867 140152139 295577574 353784826 868517645 937820765 340210363 731433350 844604015 131251406 532867922 123535995 353413176 648748837 815503817 921220518 478602430 716095893 300085592 927684899 161057214 626632980 657054046 888021940 708112567 356113001 367564258 661328491 540543512 175983845 721194199 221614512 886426996 472763460 685595978 561335168 978022661 823871017 247468943 335613107 798947788 489759677 181475332 849455591 221041914 125823078 457205074 993899017 945917711 457413608 869400346 793699928 817702730 200000501 313721867 273156120 524503817 989349459 985072060 882264583 543206178 633839879 965707843 119423638 951749657 397366460 810534738 312076696 887789652 417668135 637328011 553184205 192042121 247653501 666041145 856724842 930199289 589442122 645733575 921507195 113000139 869175069 778854038 987271983 722131685 521949542 124852475 612706922 298462376 471843758 553539877 777569342 438910793 983777713 365081815 536718967 212534845 376671719 202136250 750722131 204501888 507386976 777175706 142408044 866405042 325985957 308627205 983522205 197691874 666125240 662939538 749353639 627205319 691347404 688684639 547109309 237887548 922236808 211106812 722410103 333253074 553117106 910647442 442339212 983905049 757373380 772525929 331807380 321444996 570511987 845884430 287386290 402593781 157266660 759964713 616375774 146159032 784218428 336966415 531283927 511541094 478148672 346818368 219126481 120954247 657641023 896316997 563750211 556664393 146975617 169173948 896570149 490162460 412096165 525014574 408044710 332212439 788360824 145940014 716648952 667122297 926726792 909582629 348751865 106637526 587112288 940909417 962588283 589885645 902961226 377732294 155148000 903225037 730854651 188719895 401734867 215932369 525942381 313101881 926534567 758951432 880889197 464865472 511451811 450804829 911249561 763316350 455872455 917048149 840763707 981389561 263821359 526870830 805571658 819002356 105426587 758335129 237200314 601177875 674001174 218640510 974376495 838138256 886648107 840851380 905539545 830405225 172942157 773883095 747503058 826880148 692160622 413433846 521567965 767350177 884732193 797477893 644086807 415288137 113542071 664861771 993310260 381082111 281915911 297835746 690007313 268608551 407185154 604763482 796627451 205922378 229545645 338961095 808602480 448431188 257807132 370377234 737423697 144256491 268715912 266680961 669077642 452732514 666159237 746222838 388625555 181783898 175062131 876294523 692426161 393037867 167545150 749588805 652816364 641476465 287999244 720215389 660884883 784487859 531282960 939000288 865937851 752469025 554543993 155334689 497368865 897747467 809935555 706027548 791540086 179557730 668271489 481005048 488117743 391713576 138499908 747567361 256070416 708779798 443419648 476712708 162248742 125782758 922732343 530753846 120048955 806986674 470566241 259216439 969251623 659788555 128589156 872822116 286198246 453539253 474864386 704474149 141000772 410732425 577014392 631280710 336020852 469769535 286929174 641116906 929396931 543994935 104600450 760865605 140505270 884725931 190277967 370229983 190567243 659510985 933580090 731683074 908491218 471986812 365133080 917851228 287852469 823130424 424128838 230134590 957433817 771067532 998769258 326321648 490700703 637653096 855334979 106286442 679204192 269947070 549918094 241075200 704034903 484975533 984632335 248289340 633947606 655627429 247980954 972913897 513853982 905697795 499356077 450165705 143156755 937269491 583485716 769192535 976124871 396553203 526085778 768418146 463496346 888254405 943052525 334379109 729010976 206580373 635729116 802977302 751883236 996588662 413151403 234939708 622177105 132781004 332563595 828642578 620224538 541484541 275271775 561211093 135374173 454441280 508205898 976201911 316584599 779476687 237698658 673854208 206886192 471614191 382153300 783049347 501668575 446416036 661008085 977749605 227265856 532906358 219328943 343885377 613767793 847578001 398947229 621313897 910931507 611554075 439540317 572832771 272636401 917445718 737602066 198799927 548247549 987922106 973128561 721592558 846565982 198595910 541842229 206110189 632431616 104566505 105536503 961320593 116117873 247305570 729507928 232047514 203545470 628887160 105605775 522505066 201230506 515666636 131275244 179669021 353037490 685204848 815011482 315363377 275312259 684420920 890115276 999694774 238082648 274987839 713470816 659818806 986772906 667709093 161236936 908882283 960921894 526959420 805790188 867733663 998784242 952732867 682352733 810663950 221215334 499165190 340327083 453000916 568271325 923164901 387301966 889012601 866020857 561411772 297897676 597100283 256928179 704114600 143960779 489601367 354087332 475273486 715062632 481997948 243397529 145187730 137422923 142367701 240655849 874565684 697722104 832145313 875161920 416355875 475595136 811485594 907721664 714356767 489977096 155269382 878454970 646315546 705096109 556425292 407535108 992421157 908622759 444944100 448538893 271917199 912424242 419797097 596954347 229479352 489203001 919287203 908666080 543370048 534282990 654950690 587987788 189019503 274116564 788940724 621111243 333699517 934131720 459182109 685327999 427431469 896747350 578280567 886209131 873568821 317797558 948549299 894051897 675594814 542806754 320078190 793612427 431457896 665696407 885470156 109753273 721328546 987052146 524075155 336014015 601697037 514164851 129452382 607654678 468077260 187473301 791168360 136197147 652990503 553457790 952651207 841063339 708141152 415727474 109200449 931793799 681108919 381802963 954251137 737601115 436356944 393926995 853449647 819058521 705233585 519543330 607779566 798013197 765090328 621010682 147019109 959604878 249154345 918130056 342873942 850585037 537031803 149895468 369018530 810900173 946509607 438848988 611235697 763217702 473394351 960556552 556398901 126529101 187298910 728787354 521868987 336166444 809337170 741152584 904808972 435170422 114543729 866491016 871222098 212827427 160127218 228335845 984110639 649025217 228937964 279306058 136984242 305886596 715650691 769462063 413035763 718184441 490404501 812597661 260152039 743586851 256188025 836406932 271015017 382267356 463508203 916398249 325805107 268162938 444202769 879693262 669197366 232642566 325666364 923031418 256091439 284132936 325813067 586761710 382806123 949660514 393093223 153112823 210636937 114087045 675218582 597411158 403504180 755894518 250037099 830685950 710356962 586703977 820058116 648405771 563614701 698522277 847747423 475970800 775056828 498756414 296140902 552924682 130127970 837145931 106601295 545260058 376948183 102235687 690483397 717174527 263103028 264177667 792300913 405423918 355954909 690143672 247738002 201742136 306003476 791028167 975620746 747759650 786714852 992779306 281891180 700116119 593658381 894695536 692026892 517101795 638721567 748728598 853346199 581534716 421505009 553264114 339918503 603623261 377948675 557325341 663583287 689993254 757796340 796032266 302668755 192393972 628416160 411071661 827539884 104261443 764839106 623089762 860502652 271407939 208967445 801434515 440746845 546526609 962098120 691724369 370931357 556813358 453801596 772878464 442251711 366555541 405619175 188800381 420588736 442370243 493347197 657055270 853710902 889063122 184707654 165354308 715490098 678089793 450563815 350643186 915785344 677491633 773362658 905854531 743735160 950820880 110185203 519909286 675057005 546412434 404675485 557926371 301814081 743055232 468085375 736297765 186415316 949531928 995531341 404195342 444771439 337578207 491672001 967958621 180677640 883156601 511002091 723883242 433112897 954651550 541004624 871976350 380190543 544487312 377440020 779699987 197828194 530620256 867437343 221151936 345082175 864172231 243907586 450313364 237924044 334267621 572012792 811001850 304761733 651608010 182291956 534079475 423192364 553195743 618052883 367531059 574945363 932883156 422662866 571158460 553593644 439344161 789025772 559579245 591741240 382356280 415602947 581026561 690609971 256992890 960477451 638276919 384728577 520664527 576526508 920900763 718768850 337632202 162889889 732324271 201867735 293783302 796483373 799837835 623013099 171903524 355396699 606603394 736183470 573458190 664747725 919853484 666538914 150527171 134369361 477436178 663183741 830184675 404664573 162145936 105176538 773783996 733812325 334737388 581495978 761617528 787858708 680529959 852827116 722760862 245355296 431701776 102258852 902250412 842750137 985141958 856394542 857293485 305119879 835435051 652110732 646372077 445465737 417448059 787459638 219078030 276351956 783952749 392252066 711962707 730646958 382849034 132774473 723148892 772863401 881306890 332240087 146171708 978423049 699696081 338818186 756815356 480047938 440364144 581028314 460049864 329243698 587196850 465005776 138708902 388989880 205245295 940374856 175225033 100017884 291359446 657819639 427930444 100934287 195523670 420738631 904176078 800647546 204781407 824848036 652160671 723019402 903842903 173896370 391605950 417845634 401086742 618944512 973206442 596516567 369691749 607750279 758949379 176163442 743425709 654707653 175701771 566333842 361732781 100721912 258614383 187263457 329527124 638302507 698262061 148753403 967728793 508366552 207578904 762483057 707349043 164266493 874303307 552179544 227694591 843548932 781983535 328441657 483295144 909500543 102129724 382598032 937890241 675995707 230518969 840894922 200569550 309154852 802162323 293240687 987694159 907275049 522707249 316430328 765877806 642986027 941475919 703410605 314332777 424711604 247359070 982545218 782542649 569322392 909030092 983424411 138186789 603672720 674196007 796867712 487369555 406443038 848127649 178675877 115369053 686404194 686043438 333961278 663503614 589976736 821798370 511430259 435325395 219993354 310297661 457676915 110887828 675248409 319022027 396733408 137705140 788294460 930162429 969651638 705100183 742073524 733540726 415673466 207274600 854153515 287581393 901894956 696089110 332201167 417172018 905463550 439449313 875750954 786279759 800346996 683265270 321663054 292975394 426106358 623473951 929278514 748028484 792862925 672726024 509614781 442427714 239702832 192388071 115065002 660935666 375410057 118368791 715734215 853361734 125333961 398218697 158355862 673536553 865220019 516813966 330078326 262827189 287733013 980322070 208604169 265545210 191258011 512105692 217357239 908272043 290519399 533885410 490319023 243657209 957133306 271138593 926460860 462212393 597070221 457402163 374870882 755759197 280462576 723118276 138318316 870047407 109090125 504960360 793027047 849703539 246664241 914887001 526986087 117539569 464998981 409913443 175746827 742562157 877642573 242293743 421102757 685178643 791606681 352270132 954876906 311392199 175693924 870613617 601646665 251994057 736935462 492780676 128396509 735427840 414254509 596730626 478943100 845901780 854906929 982409215 426792451 405636627 726006553 795281411 765353177 310183945 670679385 117543202 752085014 281676498 816092915 643691835 374723788 815007555 450478889 406014115 213042323 506765122 240696537 662867116 655215252 229601149 893297539 480952775 828576591 863097857 505223925 762232060 191269348 718974810 314289296 388195954 767305015 400557173 380330066 753478217 793400645 460921469 225026456 848943061 673835844 728239251 768601377 489839376 112399529 445804464 271906185 342475459 607921317 334114548 397615327 867056798 437096791 982643284 549758652 213823453 753228650 575097442 586198604 238127698 518702190 712352495 362394727 204374558 924193581 220173444 295324977 310195469 492843865 617674258 642482599 129602985 725429447 607332157 317309279 321418404 510445892 417363166 979030107 858908003 642887689 408999618 571355887 739011049 769572021 356672349 440856533 665555577 522013579 521228786 726034145 777542125 320224543 463148109 767260647 152808915 421809107 503905493 453526304 524282271 551691892 904541311 659912486 101511300 566297761 216133072 203568143 375091553 983513818 113114880 982154756 908675845 912194591 906771034 309615578 300159039 102430682 726496503 905500261 378169906 710040391 387890828 957043109 871180293 148056721 817043600 142883468 227389346 193095510 780371605 274233645 665054631 884539064 258245676 444784659 188763522 891886734 220740220 592012078 372580125 106031463 954432470 661130763 142068124 939248390 438880292 828773946 750589857 126341784 110707365 315466966 438910960 670685204 199222718 934174352 872949348 521161941 725837384 870773887 539642915 991609640 638804474 706809059 877894260 279097758 657522601 703200736 105209269 577444600 512482894 989837571 600178536 347561116 499814989 931114624 254299743 112602363 439156812 361083224 244479553 807055481 515075967 906329127 989907517 123583561 126608347 260163983 643530610 735479865 245538556 149205785 871053358 644304717 792455720 309001759 125185607 812937183 242190378 272951446 290967916 572361692 375275690 329005856 942500031 170979194 500410134 306301721 388020695 250596662 159045446 619586525 565266294 224385767 421090668 930388591 504712750 146050605 224743988 350096802 584963743 889760047 431160168 113568970 731114488 163101434 918990083 121218230 753494054 765513399 440160811 439709897 837551314 387396356 171776061 689452349 832521107 902712725 527915135 934663686 453398726 959483700 439888550 760057066 856786599 262597881 345653786 249620386 465490281 479302868 254339600 503054193 217169507 973286950 742977494 142978731 412404645 754754691 751054327 882830399 334852347 725668426 102057082 774278923 658505335 153336912 979339742 775530069 695742052 754979820 192869404 120594023 818185567 125509843 584202506 582669848 908166506 193582310 765297377 533174892 641832518 879966179 703814575 605457335 783063908 375889042 475070368 391896542 989628007 355210546 421255266 548331430 396332149 514828744 117333072 430931708 730356958 536145634 715336903 355043436 780127962 711473680 623331405 132580576 528625318 599506400 206626397 673460648 331876211 417641340 246409837 621228464 405930176 982482980 867430893 251562284 357654884 713170964 915738695 469198398 776689882 788696987 660139052 644731301 821096233 588368628 780290044 123817741 160600782 351052558 917675724 501188970 784345424 522538169 809160564 461429507 896766166 948959546 167968724 649013882 992812549 431116044 952352711 654305869 768374433 498669121 495283766 206469451 740713361 824179009 318783629 120194669 545142628 194016308 858645006 562100162 216652311 361086840 623294932 954773454 968181553 238540865 518965735 551370513 446239314 279960676 679491585 648894323 946182907 865486664 468795432 204478830 132850556 763342678 187682349 255737228 864233266 528214706 128418607 446023290 889930412 364059361 716251020 140201154 195910177 788596530 696630568 483045846 544998422 940345602 818375391 749017611 242141487 937730125 908013618 959654242 690850909 976093004 544738173 653310252 812906892 736310877 612569810 199344899 789833116 814432819 617709823 984187769 865269452 922939862 406182321 208176964 747714202 969149642 552006461 232498463 379357970 441702174 508456472 169427078 725379474 977958025 369827018 969765190 152747950 589902902 816429652 464446753 192905415 891087329 165104993 999080334 615486374 228852029 282939834 580321736 435319282 471650036 443645066 815388524 192704974 195017389 349389164 380564093 448734720 945430155 594228822 564165589 948366551 257890286 640228053 324028094 810175914 392812767 263857290 250469449 777943677 657631280 729347533 978933552 562059897 536470073 216275037 361337565 556742173 586638532 246790339 903867971 734284482 241807919 322982508 333026409 550772417 788539441 687874934 961956279 699048661 367641841 112700282 423313060 705942720 702925980 919210570 221740496 268255667 129373564 737831115 581517745 916852122 315860358 367724350 704500403 149958947 396634597 117587855 553037636 854669419 312695788 242044670 103262651 159983495 769548105 612071289 201934026 868572558 658270150 156760101 836261244 717770044 449186085 448660519 627144957 795522951 584107106 121163356 761998183 385300112 968282248 949418859 200211081 506888511 276516377 386716790 759953593 726143430 551181164 364776156 864254639 606586573 944977802 294612421 470899747 909836177 285662157 319074824 103547878 140936661 280847234 907802809 196750547 468899874 998226476 991747334 962192576 769818441 967693782 211460265 327123600 987866588 216257077 807060129 223203198 795002664 741185284 448641928 144918972 979347211 245780165 941144552 709361531 230928317 559060709 439141855 188828563 431181576 201685955 895765042 314956616 349803838 582659156 406388237 324741037 350291989 896451472 808763442 184688716 143234532 642932362 738789911 319592485 831271259 674433251 770832581 477190685 783883230 105939417 395741003 538838524 987170634 375353480 395573099 113997911 742563058 373842706 519766450 300633440 611174390 483457173 586175469 930364187 701951987 214615204 270799663 483975705 718072320 430416889 876425797 151362667 451376595 875539662 254942717 372331220 932990818 272075711 147714167 989089543 842359118 853174678 279048382 610866350 427093269 824015212 256450571 418436000 990001993 343822756 261910643 396230891 178101775 798414434 897538403 715700775 805385552 109969002 486306802 255490664 948163013 233500215 507754691 985788092 749966375 337601035 954631276 153407640 652381287 882591710 388145474 669053238 300827752 454535856 281454993 549887213 213573450 739290702 141076800 701778227 104727350 502307671 763796683 748869737 706028527 478640485 255073774 310780841 297449934 446169163 877288142 594389363 656395209 528034740 973654594 938648031 433260479 796732444 387966480 647711531 929139855 222740899 745237285 644840581 379032817 174343745 867910684 129467545 997793049 641035284 142853016 622929858 698067733 767685882 317474389 926671187 754895660 461648746 295058002 780361248 840147534 798475809 486916054 780633410 142557356 960706643 102138859 557912942 678333172 993650605 338960172 477092958 643242256 878363908 550852675 699090506 655602741 103919275 594215250 704501763 702478819 823194528 191460173 340490109 928002159 522312371 472786783 623393698 939487732 808436876 472317627 973283120 489339550 179779035 138387980 858340975 698164384 899744142 620867130 266581510 594893660 791799619 254301959 942884162 797595913 319039955 395294817 144400507 336915832 504546070 219514659 808360378 282865403 630149058 795436514 347965827 881286679 376896754 387493034 450667954 166776911 369409429 532341605 991005775 792816540 962717134 967316320 912190057 711347406 331155977 143550102 789044207 160229711 781287221 828895410 561961739 215960791 919608450 124345635 926475531 352528537 625117059 571377093 620066294 827013951 776327440 330318579 289732962 776689943 523022112 360588942 391547581 789442776 561820358 124633380 126168856 724997493 932314985 843801007 164454361 264906879 912106085 895011124 197425292 956304498 747439685 144251410 466629186 299236447 642629499 473210338 451911179 809391352 129649505 236955776 579295556 255556886 211283019 430819631 819933897 290934294 215008883 826244364 209843100 612194399 508531274 436041402 278421500 285726624 707376041 710301001 502182542 452847119 594316467 263564558 856175852 604251312 635302132 978084832 970149099 149748977 922298859 911228132 893343454 681795471 234236736 620654628 739558596 656896096 568400002 366527562 269591723 796434063 478619217 520074463 226557999 319300878 428972683 190914435 289154307 651273134 598879677 281575181 158310237 343926729 548725525 803568861 331984273 853798363 907679122 268320317 678969320 984145049 464384257 137833281 930329235 467966383 143525512 119843564 506884619 490777844 664849846 874793877 382999062 191066806 868483552 848639832 938462376 583667943 924121842 185634633 494458834 973576887 545368221 951908689 729599613 853624967 567557525 390083138 122445438 244927878 363891691 541994068 462184787 524306623 513839661 974937887 493277792 836196048 362055326 548021419 540674912 914251269 153750660 705885947 790690771 551835463 304346201 704941758 888393235 498198632 996834520 161608453 559133336 753657203 544179915 400158591 312384959 644123699 636752488 916038110 355933215 153863252 856730555 748337137 993233700 536234253 299686573 460614740 700124288 315086052 752867460 198088148 781872925 561182820 400162621 125929652 426428152 867394102 876163991 551917403 679521656 499618627 152369877 999887461 678866274 567224638 357365924 994979374 632479018 148601703 103810274 800772568 985390079 896613843 655404451 175610950 198402802 476016830 911590652 857304477 128079847 777385929 603477842 594600935 259299175 924023442 230869672 770602531 241259072 340457773 234231740 115803388 351888359 855268783 982667542 815492639 475083456 600106303 528650898 325857873 276711588 616959889 735948066 865870948 784269975 157486302 568351778 187643922 691113162 999998524 455157827 504411031 325967250 426306671 581731592 589620333 670149269 631044819 679352973 824913720 486376267 811465405 445433716 537057038 395845143 845843067 323057999 138040133 642874813 489781482 885797174 937055119 385982877 220711005 255747352 473923467 749290286 993831937 525494049 470236476 284470255 816606966 456428980 743984593 591729941 841375572 502224765 584321224 687808704 595056302 820125069 824469678 540795683 490082833 740729758 692436315 340656721 110295405 539294193 226268454 705130979 613511732 821133811 429924915 437201255 704940125 951639350 349730139 859144881 348634183 513490629 102100906 719691315 208863803 847821205 867934963 828959030 202733213 922071168 867101481 922668950 528724121 327222077 141489395 165875271 481143890 536904004 387008457 114062266 752261266 297780653 993232366 491115214 427121985 188161859 870489584 685183791 669133873 834131712 976044725 998212642 200999243 998702756 558250210 558075689 288967393 731911920 800598823 518643363 392420167 597984922 587520867 717499150 958785579 624838542 446157848 521725351 349104206 787182363 924278813 716882183 236117310 272009691 916900444 270020254 258989075 483186459 519676605 304260276 474572770 680697186 494575843 302450583 429142703 539939750 967042376 886646323 971202503 309642656 844051737 411651721 359761377 535550339 840906632 862518928 457192632 591939717 345722809 169122119 757977362 758413103 586554667 591542002 982135007 558910634 677415244 436950627 610041078 699282751 878501001 979397788 442636270 816537130 594043204 847047692 797311685 149029690 447972458 617807860 609424030 861856323 787839816 385833652 281942289 824649125 695795475 523344027 929813135 792738162 251706733 635042548 429553412 792475969 512861302 193924645 165671633 345750582 411882158 750309655 511314313 375453533 558635708 771488352 853232749 886158229 188670192 580351263 376508951 349685723 257171544 743835305 570792429 818311039 674771953 681517854 473207727 425860575 439380540 928517893 849852613 797983536 944516522 559146041 653066736 674599912 847108720 576643035 501055913 172603751 909367068 520913117 858455412 686173539 537210490 968139773 685743897 713933127 478698870 202558398 586470076 683443171 160078393 549728894 778639536 339943638 864209414 796120164 679563908 128020466 141384898 906419660 172167944 787897969 248442622 133419546 698945903 570334897 881128141 691160673 859806784 324864663 938143976 223010154 210365715 351765318 521246528 149312709 413247729 367989407 336669793 569418652 952442236 754153955 384249302 339407866 719154767 285505821 827650064 360075162 367774423 849746806 833257600 975450758 819393907 817280337 916848526 965658708 372573346 543093656 311379622 882232739 619218013 416574553 598053300 229517031 693856493 563720858 566777485 339314054 570527873 164961532 551636326 270952960 240127817 618853007 924226842 116368229 195142087 572593752 948072644 350749271 188663451 266775041 464259933 295314794 945857705 956048275 324546189 820315528 157505247 285364550 955245621 607502472 637560788 470590954 221859735 365300562 966992318 670540666 597540826 188357859 249499141 717955976 453051101 717680483 792781271 642667514 220715835 827729176 798203475 700846567 713619630 705979000 436741203 308379045 405475624 812636018 890377919 920216555 772766956 301284631 871608890 493891310 282126170 247489295 925553673 420941874 450396403 298597398 223020048 202705990 581459521 364792959 533090926 598663811 612717815 861223217 257190367 908711094 145670655 303426612 178320258 309844620 913810173 332225102 820019746 271985873 336542237 175009381 349895053 176761252 197084004 781582447 311008778 674619293 550689009 446795924 403712562 644048700 189731399 459794720 835482734 857414837 700109357 811527780 451514160 283424482 794666960 120445104 991679861 145828647 792739174 958373902 507173717 128297263 604129764 186989357 695201141 891678699 333360685 392542864 627964007 478527765 257634539 945422904 346934558 365547278 974467487 425343680 319940741 551463846 570110754 443740670 828776367 295913466 720993649 420405320 238276408 132337873 610610675 493892593 489437722 155589510 653010881 201808533 750104100 266443820 608478440 820018985 226324782 211302711 805979451 667355060 952575930 758203828 118702725 207382309 902617902 952842214 377662131 254835993 334420063 543979012 810812715 516458779 532226133 456249966 409927246 162638696 449219011 244290440 267817636 883655551 172523749 594665868 751580934 237551504 971971093 428809841 619061476 560728698 396271888 382859528 805708695 936189218 908826339 186112895 644423475 752995144 725703113 564320483 111614027 885441236 184119406 821739153 315145390 369032667 739375198 964124486 408792850 529536550 887887029 679083459 135459047 550824009 575660354 822306145 225299131 755878183 241309934 859689686 899940649 212486727 629358154 832202707 530430535 787467733 513998130 151367218 540758736 922617918 774106369 477775426 517118993 414568500 149411753 332591790 959361510 617763238 189979010 511893742 650302700 801620868 748626868 279885220 121199874 976102571 646476442 121971508 372054403 592313462 638946407 988099882 829564288 150928017 228450682 453978829 382112313 464747586 239814869 858819826 808938762 426035695 167846599 272196084 335840817 269735949 475566459 564725173 894966968 778533612 483550819 823777477 336857955 426959041 992355370 844206473 323926623 969623368 700205019 264633626 341343712 352453392 136540513 562370562 318313599 228655065 558778864 467607008 824821637 771054390 684868789 891289330 754864465 560451850 262461625 893832202 525806531 757941991 929749802 913668525 533428603 882513340 398585790 709949328 554484660 576386116 862493040 804090093 955705005 705948037 208659088 579635186 740540369 121913144 377283401 199405301 918458779 674753675 257510081 231247731 201905915 678473600 375818021 665325017 239893658 380903277 756747215 296244488 888267171 181107567 807723901 966721521 206220221 881922151 986701919 506607178 300639805 615601578 177033822 332764378 934043146 739639620 830968279 542424960 599850491 446203666 450610901 996764032 700994774 263439110 723042187 882235352 610729554 799533797 799203525 189601505 701035060 240758665 394790085 207095853 717695777 409507807 374546587 790157429 517333268 694351021 235257174 577359250 979119523 151429263 849483611 975985535 246111782 707790095 105209758 722156146 476303124 708482544 204998055 136179608 516373375 866276624 200895566 560386122 586104420 109994661 325154837 844744314 118035222 233417354 278390270 154583440 249227887 686700002 371719210 255915104 158377875 467914853 863114419 337370609 532072129 373368485 872067153 914122824 530116321 157935885 433024767 705852947 294269398 202496589 808777087 796089624 108945625 951472751 610235427 422064572 537797228 945465867 698020118 345931500 272354302 914201301 169820353 274663081 939205188 156835155 722208652 825249324 500628974 481759069 504115626 398940569 115601212 891689883 594404049 242725069 147304262 954891865 585621421 990200228 750178874 820370686 887369243 279867617 323437179 851920196 813463179 647944533 294047740 219888565 329903078 733233540 718459977 932392786 715138975 592813698 472381763 266930940 489124782 257669629 822947272 329763731 307906943 534807795 522816329 855302911 495824515 366004615 814113240 599327686 759298051 559589988 534110428 753468435 940987081 337317242 505018823 225430018 459793071 418393235 132142080 370580018 935107501 490400486 300263351 938377649 272562502 330114061 608341858 103799765 629212830 325136315 520824848 725356607 991637262 654749688 618348686 562409947 379592389 987441817 752845048 987306553 320227790 542233168 567082535 325924276 928085910 739821876 308913181 615366128 592871676 344439648 544339960 615120021 417438909 816174082 669985447 653289647 639985525 638133420 198744114 515349504 532126235 480765031 168808863 348364317 576837968 661100266 547506278 517056063 327745097 576204098 758693245 201419814 631265554 433949389 166735966 259449447 175655685 153368426 562104924 596505575 383840221 302824853 262689051 732073377 651146018 951660436 620516956 157125918 424439916 368953580 543455346 892878001 562329073 988470302 618378672 468099502 598858995 521519395 878100470 931297107 703103879 140274629 202745117 900871393 944027853 557033277 981592225 143295617 418104304 369882468 856225336 898165891 560287460 837976689 295482197 165925227 680288673 627958491 600077748 343742100 805293179 551900589 642297503 348936150 786724101 343998061 586636134 979697653 601109216 646542863 473546438 241837201 858370480 558368663 240894972 276934522 743175588 526207236 361796377 932809917 947084936 155061068 926361492 194534034 411017114 519469149
